从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第四讲 WPF中 ControlTemplate
上讲我们介绍了DataTemplate,现在我们就介绍下ControlTemplate,可能后面大多在编码时候会出现一些英文,工作习惯,请见谅。
ControlTemplate: 控件的外观,也就是控件是什么样子
后面在我们这个项目中会大量用到这个东西,
现在我大概介绍一下你怎样去使用一个控件模板,首先你得定义一个控件模板,基本格式如下:
<ControlTemplate x:Key="按钮控件模板名称">
在这里就可以去定义你当前这个模板的具体样式,比如你定义一个按钮的样式如下
<
Grid
>
<
Ellipse
>
<Ellipse
.Style >
<Style Target="Ellipse
">
<Setter Property="Fill" >
<
Setter.Value
>
<
LinearGradientBrush
StartPoint
=
"0.5,0"
EndPoint
=
"0.5,1"
>
<
LinearGradientBrush.GradientStops
>
<
GradientStop
Offset
=
"0.0"
Color
=
"#fff"
/>
<
GradientStop
Offset
=
"1.0"
Color
=
"Red"
/>
</
LinearGradientBrush.GradientStops
>
</
LinearGradientBrush
>
</
Setter.Value
>
</Setter>
<Style>
<Ellipse
>
</
Ellipse
>
<
ContentPresenter
Margin
=
"5"
HorizontalAlignment
=
"Center"
VerticalAlignment
=
"Center"
/>
</
Grid
>
</ControlTemplate>
那你在使用的时候就可以这样
<
Button
Width
=
"200"
Height
=
"120"
Margin
=
"20"
Template
=
"{StaticResource 按钮控件模板名称}"
>OK</
Button
>
大概就会长这样,这个代码是我直接在这里写的,可能会有点问题,模式是这样的,谢谢。
补充下,在说到模板的时候我们会用到很多的style,就比如刚才那个Style是怎么回事估计新手会有点纳闷那啥玩意,那我在下一讲补充下讲下WPF 中 Style
最新文章
- sql查询重复记录并取对应最小值
- oracle 体系结构解析
- 【转载】synchronized 与 Lock 的那点事
- 用 EasyBCD 在 Win7/8 中硬盘安装 Ubuntu
- Spring(3.2.3) - Beans(10): 生命周期
- hadoop异常: 到目前为止解决的最牛逼的一个异常(java.io.IOException: Incompatible clusterIDs)
- 计算机语言的发展(the history of computer&#39;s language)
- Sequence one(hdu2610dfs+去重)
- mongoengine连接错误:“False is not a read preference”解决方法
- silverlight控件动画状态的过渡
- ubuntu 经常使用软件及环境
- Leetcode 解题报告
- html 7.28
- MYSQL-group_concat设置group_concat_max_len
- Android Studio 签名 安全图片
- 解决:org.xml.sax.SAXParseException: 元素类型 ";head"; 必须由匹配的结束标记 ";<;/head>;问题
- 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
- 四则运算3+PSP
- Android按键添加和处理的方案
- oracle for update和for update nowait的区别 - 转