WPF中的控件模板: WPF的每个控件都有一个默认的模版,是对控件的描述,我们可以自定义模板来体会控件的默认模板,打造个性化控件。 于Style不同,Style智能改变控件的已有属性值来控制,但是模板可以改变控件的内部结构(视觉树)。 首先是声明一个ControlTemplate对象,对其进行相应的配置,将ControlTemplate赋值给控件的
WPF中的控件模板:
WPF的每个控件都有一个默认的模版,是对控件的描述,我们可以自定义模板来体会控件的默认模板,打造个性化控件。
于Style不同,Style智能改变控件的已有属性值来控制,但是模板可以改变控件的内部结构(视觉树)。
首先是声明一个ControlTemplate对象,对其进行相应的配置,将ControlTemplate赋值给控件的Template属性。
可以复制看看代码:
< Button Content= "看看我的变化" Height= "59" HorizontalAlignment= "Left" Margin= "99,88,0,0" Name= "button1" VerticalAlignment= "Top" Width= "94" Background= "#FFB4AEFC"> < Button.Template> < ControlTemplate> <!--定义视觉树--> < Grid> < Ellipse Height= "{TemplateBinding Control.Height}" Fill= "{TemplateBinding Button.Background}" Width= "{TemplateBinding Button.Width}" /> < TextBlock Name= "txtBlock" Margin= "{TemplateBinding Button.Padding}" VerticalAlignment= "Center" HorizontalAlignment= "Center" Text= "{TemplateBinding Button.Content}" /> < /Grid> <!--定义视觉树结束--> <!--定义触发器--> < ControlTemplate.Triggers> < Trigger Property= "Button.IsMouseOver" Value= "True"> < Setter Property= "Button.Foreground" Value= "Red" /> < /Trigger> < /ControlTemplate.Triggers> <!--定义触发器结束--> < /ControlTemplate> < /Button.Template> < /Button>
运行结果:
运行的效果
鼠标移上去的变化
这个就是给Button按钮写的模板出来的效果。