【问题标题】:Different sets of HierarchicalDataTemplates with DataType property for different TreeViews具有不同 TreeView 的 DataType 属性的不同 HierarchicalDataTemplate 集
【发布时间】:2012-11-09 16:43:23
【问题描述】:

我有一个 WPF TreeView 绑定到混合类型对象的层次结构。 因此,我使用带有“DataType”属性的 HierarchicalDataTemplates 指定用于每种类型的模板,它工作正常(TreeView 自动为每种对象类型捕获正确的对象)。

现在我有第二个 TreeView 的问题(在同一个 XAML 文件中) 这将填充相同类型的对象。然而这一次, 它们必须以另一种方式显示,所以我需要另一组 分层日期模板。同样,我会使用“DataType”属性。 但是如果我把它们放在同一个 XAML 文件中,我当然会得到一个错误(我不能 为同一类型定义两个模板)。

有没有办法以某种方式确定它们的范围,以便第一组专门用于 第一个 TreeView,第二个只有第二个 TreeView?

(注意因为事先不知道对象树结构,所以我有 使用“DataType”方法(无论如何我更喜欢)并且不能使用 一个静态的 HierarchicalDataTemplate。)

【问题讨论】:

  • 你有机会尝试我的答案吗?

标签: wpf treeview hierarchicaldatatemplate


【解决方案1】:

将第一个 DataTemplate 集放在第一个 TreeView 的资源中,将第二个 DataTemplate 集放在第二个 TreeView 的资源中,它应该可以工作。

<TreeView>
    <TreeView.Resources>
        <!-- put your data templates here -->
    </TreeView.Resources>
</TreeView>

请参阅FrameworkElement.Resources 了解更多信息。

【讨论】:

  • 你好西西弗,非常感谢你的帮助!我还没有尝试你的解决方案(我保证你明天会这样做),但我认为就是这样。与此同时,又出现了一个问题;也许你可以看看,当然只有你想并且可以抽出时间:stackoverflow.com/questions/13348405/…
  • 尝试了您的解决方案,它按预期工作。非常感谢您的及时帮助。您对我在上述评论中提到的另一个问题有简短的提示吗?
  • 嗨 Juniper,很高兴看到这对您有用。今天我会试着看看你的其他问题。
猜你喜欢
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 2016-05-13
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多