0

我有以下场景: WPF Treeview 显示自定义对象,每个对象都包含一个子列表。所以问题是:每个自定义对象都由一个组合框控制,该组合框可以将当前对象从 A 类更改为 B/C/D 类,反之亦然。AD 类都是超类的子类。到目前为止,一切都很好。每个类都应该由 WPF 树视图中的特定数据模板表示,因此每次用户更改对象类(使用内联组合)时,项目都应该应用一个新模板。到目前为止,我已经尝试过:

  1. DataTemplate 选择器类(仅在开始时应用)
  2. 在树视图中“清空” DatatemplateSelector 并在对象更改后重新应用它(太慢)
  3. 按类(x:Type)的数据模板(有效,但我需要每个对象三个不同的模板,一个图形,一个最小,一个最大显示宽度和额外的文本块)
  4. Datatrigger(我不知道如何将它数据绑定到更改的类)

可能是某种系统性错误。非常感谢您的帮助

问候

马库斯

4

1 回答 1

0

最后一个解决方案是最好的方法(数据类型上的数据模板),但在您的数据模板中,将内容设置为内容控件,并在样式属性上使用数据触发器。根据您的触发前提条件覆盖控制模板。或者,您可能需要考虑分层数据模板。

于 2010-10-22T17:29:08.483 回答