【问题标题】:Hide Elements in WPF TreeView在 WPF TreeView 中隐藏元素
【发布时间】:2012-06-27 07:17:42
【问题描述】:

我有以下情况:

我有一个带有分层元素的 ViewModel 可以在 TreeView 中显示。到现在为止还挺好。我现在要做的是根据 ViewModel-Element 上设置的某些属性(例如 IsConfigurable 等)从 TreeView 隐藏/删除元素。 如果我禁用了 DataTemplate,则元素将被删除,所有子元素也会被删除,这不是我想要的。

这可能吗?

你好,

于尔根

【问题讨论】:

  • 您想删除父节点而不是子节点?但是孩子们会受到什么约束呢?
  • 您想隐藏父节点的Header 并将其子节点保留在同一个空白节点下吗?
  • 我有点想“隐藏”一个节点并将其子节点挂钩到层次结构中的下一个父节点......但不干预集合本身......就像我说的那样,我不知道是否这甚至是可能的。

标签: wpf treeview hierarchicaldatatemplate


【解决方案1】:

这听起来有些奇怪,但是……

您应该考虑到您的应用程序应保持可测试性和可调试性。
您的模型包含原始数据(集合),因为它是 - 这里没有干预。在您绑定到的对象 ViewModel 中,您可以根据需要计算转换,以显示您的层次结构。这种方法的好处是,您可以“轻松”测试/调试您的转换。现在将您的 TreeView 绑定到计算的层次结构,而无需进行模糊的实验。如果 ViewModel 中的属性(您提到 IsConfigurable 或其他)发生更改,您就知道何时重新计算绑定层次结构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2013-01-13
    • 2014-04-08
    • 2012-08-03
    相关资源
    最近更新 更多