【发布时间】:2014-12-09 21:15:48
【问题描述】:
假设我正在显示一个数据组件,例如 TreeView。
假设它绑定到一个基本类型为 TreeViewItem 的树结构。
TreeViewItem
TreeViewItem
TreeViewItem
TreeViewItem
等等。
但其中一些项目是 TreeViewItem 的更具体的实现,例如 AnimalTreeViewItem 甚至更细化的 ZebraTreeViewItem
TreeViewItem
AnimalTreeViewItem
ZebraTreeViewItem
PlantTreeViewItem
现在,假设我希望这些项目以类似的方式呈现,但根据底层类型的不同,呈现方式会略有不同。
我得到这个工作的一种方法是使用 DataTemplate。
问题是我必须为每种类型创建一个单独的模板,100% 的内容以相同的方式定义(减去布局/颜色等方面的微小差异)
有没有办法定义数据模板,将它们的大部分内容共享在一起?意思是,无需创建 2 个模板,它们的标记几乎相同,只是为了更改某些文本框等的背景颜色。
【问题讨论】:
标签: wpf xaml datatemplate