浅析ControlTemplate类
来源:互联网 发布:命令行安装node 编辑:程序博客网 时间:2024/05/19 06:17
ControlTemplate类的作用是重新定义控件的视觉效果和触发状态。控件在获取焦点或者被按下时,一般会显示出不同的状态,以便于用户区分。系统控件的视觉状态都是事先已经设定好的。这样做的好处是,可以复用已有的代码,大大节省了UI界面开发周期。有时候,用户需要为控件设定自己想要的视觉效果,比如:按钮控件的皮肤,指定为自定义的风格。这时,就需要借助ControlTemplate类。以下是一个简单的例子:
<Style x:Key="ButtonStyleLogin" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <StackPanel Orientation="Horizontal"> <Image x:Name="minBtn" Source="Resources/login/013.png" /> </StackPanel> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Source" Value="Resources/login/013_f.png" TargetName="minBtn" /> </Trigger> <Trigger Property="IsPressed" Value="True"> <Setter Property="Source" Value="Resources/login/013_p.png" TargetName="minBtn" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>简单的解释下以上的代码。
该代码片段的作用是为按钮控件提供一个自定义的Style(按钮风格)。按照行的顺序依次标号并解释如下:
1. 该Style作为应用程序资源的一部分,拥有资源键"ButtonStyleLogin"。之后指明了该Sytle的作用类型是Button
2. 定义Button类的Template,修改Button的风格,也就是前面提到的自定义按钮控件的视觉和触发效果。
3. Property-Value对中的Value
4. 定义一个ControlTemplate元素对象,赋值给Button.Template。指定该ControlTemplate元素对象的类型是Button
5~7. 定义在正常状态下按钮的视觉表现效果。布局为水平,背景图片选取”Resources/login/013.png",并指明Image对象名“minBtn”(为后面定义触发状态准备)
8~end. 定义触发效果。当鼠标停留或者按下时,选取不同背景图片。
0 0
- 浅析ControlTemplate类
- ControlTemplate
- ControlTemplate[转]
- wpf ControlTemplate
- ControlTemplate和DataTemplate区别
- WPF中的ControlTemplate(控件模板)
- WPF中的ControlTemplate(控件模板)
- WPF中的控件模板(ControlTemplate)
- WPF中的控件模板(ControlTemplate)
- 关于C#代码实现ControlTemplate
- ControlTemplate和DataTemplate的区别
- WPF中的ControlTemplate(控件模板)
- Silverlight中的ControlTemplate与 TemplateBinding
- ControlTemplate和DataTemplate的区别
- WPF中的ControlTemplate(控件模板)
- WPF中的ControlTemplate(控件模板)
- DataTemplate和ControlTemplate的关系
- WPF中的ControlTemplate(控件模板)
- Oracle索引学习
- 如果数据库中的某条数据是经纬度的时候处理方法
- ProgressBar 样式自定义
- Android 最火的快速开发框架XUtils
- POJ 2586 Y2K Accounting Bug
- 浅析ControlTemplate类
- 服务器结构
- 判断当前窗口是否是全屏的山寨版和官方版
- Oracle创建用户并给用户授权查询指定表或视图的权限
- 2014Esri全球用户大会之位置分析
- Android开源:数据库ORM框架GreenDao学习心得及使用总结
- NYOJ 824 Greedy Mouse
- Java Swing制作多行滚动歌词显示控件
- Wabacus