WPF中Expander的用法和控件模板详解

一、Expander的用法

  在WPF中,Expander是一个很实用的复合控件,可以很方便的实现下拉菜单和导航栏等功能。先介绍简单的用法,而后分析他的控件模板。


        
            
        
    
    
        
        "{DynamicResource ExpanderStyle}" Header="头部">
            
                
                "{StaticResource Expander.StackPanel.Style}">内容2
                "{StaticResource Expander.StackPanel.Style}">内容3
                "{StaticResource Expander.StackPanel.Style}">内容4
            
        
    

可以看到Expander主要分为头部和内容两部分,展开时才显示内容,而内容部分可以存放丰富的内容

效果图:

WPF中Expander的用法和控件模板详解_第1张图片

二、控件模板

  如何获取控件本身默认的控件模板请看我的另一篇文章:https://www.cnblogs.com/xiaomengshan/p/11446436.html

  因为控件模板比较复杂,先看大概的构成:

WPF中Expander的用法和控件模板详解_第2张图片

 

再看看主样式部分(ExpanderSytle)的构成:

WPF中Expander的用法和控件模板详解_第3张图片

 

再看向下展开时头部的样式构成:

WPF中Expander的用法和控件模板详解_第4张图片

 

如下为我标注了注释的完整控件模板代码:

"Expander.MouseOver.Circle.Stroke" Color="#FF5593FF"/>
            "Expander.MouseOver.Circle.Fill" Color="#FFF3F9FF"/>
            "Expander.MouseOver.Arrow.Stroke" Color="#FF000000"/>
            "Expander.Pressed.Circle.Stroke" Color="#FF3C77DD"/>
            "Expander.Pressed.Circle.Fill" Color="#FFD9ECFF"/>
            "Expander.Pressed.Arrow.Stroke" Color="#FF000000"/>
            "Expander.Disabled.Circle.Stroke" Color="#FFBCBCBC"/>
            "Expander.Disabled.Circle.Fill" Color="#FFE6E6E6"/>
            "Expander.Disabled.Arrow.Stroke" Color="#FF707070"/>
            "Expander.Static.Circle.Fill" Color="#FFFFFFFF"/>
            "Expander.Static.Circle.Stroke" Color="#FF333333"/>
            "Expander.Static.Arrow.Stroke" Color="#FF333333"/>
            
            
            
            
            
            
            
            
            
            
            
            

 

  知道了Expander默认控件模板的构成就可以根据需要修改,轻松构建自定义的导航栏等功能(建议只修改需要修改的部分)。

 

你可能感兴趣的:(WPF中Expander的用法和控件模板详解)