博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF学习:控件的模板
阅读量:4984 次
发布时间:2019-06-12

本文共 1339 字,大约阅读时间需要 4 分钟。

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按钮写的模板出来的效果。

转载于:https://www.cnblogs.com/junbird-nest/archive/2012/04/07/2435864.html

你可能感兴趣的文章