Wpf中的控件模板

本文介绍了WPF中的数据模板和控件模板,通过案例展示了如何使用数据模板改变ListBoxItem的显示形式,以及如何利用控件模板定制控件外观和响应触发器。详细解释了ControlTemplate的VisualTree和Triggers属性,以及TemplateBinding的用法。
摘要由CSDN通过智能技术生成

DataTemplate
在WPF中我们可以为自己的数据定制显示方式,也就是说虽然某种数据是一定的,但我们可以做到让它的表现方式多种多样,比如一个时间,在以前我们一般使用一个字符串,(比如“12:03”)来显示,但我们为什么就不能县一个一个小时钟呢,其实这更合乎情理,利用wpf中的数据模板技术随意病轻松,地表现你的数据
数据模板使用于Content Control类控件于Items Control类控件
一、场景模拟
假设我们现在有如下需求,
我们需要在ListBox中的每个Item中显示某个成员的姓名,年龄,以及喜欢的颜色,点击Item的时候,会在右边显示详细信息,同时也想让ListBox的样式变得好看一些,比如绿色边框等。
为了实现以上需求,我们可以使用控件模板来修改ListBox的默认样式,使之变得生动有趣,使用数据模板来改变ListBoxItem的数据呈现形式。
二、Demo
为了改变ListBoxItem的外观,我们在资源里定义一个名字为listBoxItemTemplate的数据模板,模板中使用Binding将数据进行关联,然后为ListBox的ItemTemplate属性进行赋值。
当我们点击左侧ListBoxItem的时候,为了能在右边显示详细信息,我们定一个四个Label,绑定左侧选中的ListBoxItem
为了绑定方便,我们为四个Label加个父容器StackPanel,并将它的DataContext属性绑定到选中的ListBoxItem上(四个Label的DataContext就会继承StackPanel的DataContext属性)

ControlTemplate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值