继续聊WPF——动态数据模板

 

 我为啥称之为“动态数据模板”?先看看下面的截图,今天,我们就是要实现这种功能。

继续聊WPF——动态数据模板

 

大概是这样的,我们定义的DataTemplate是通过触发器动态应用到 ComboBoxItem 上。

这个下拉列表控件绑定了一个Person集合,Person类的定义如下:

 


 

这里重写了ToString方法,因为ComboBox生成的项是调用对象的ToString方法的,为了能不设置数据模板的前提下正确显示列表项,需要重写ToString方法,默认显示姓名属性。
 
然后,我们为ComboBoxItem定义一个处于高亮状态时使用的数据模板,也就是当鼠标移到项上时发生。


 

为 ComboBoxItem 定义一个样式。


 

在窗体中声明一个ComboBox。


 

最后,切换到代码视图,完成设置数据源的C#代码。


 

完成,这时候运行一下,你会看到上文中截图中的效果了。

你可能感兴趣的:(WPF)