【发布时间】:2017-12-08 12:13:45
【问题描述】:
我不太确定在我的情况下是否应该使用 TreeView,但这似乎是一个合乎逻辑的选择。我正在尝试创建一个由 ObjectA 列表填充的 TreeView。
ObjectA 如下所示:
public class ObjectA{
public string DisplayName { get; set; }
public ObjectB CurrentChild { get; set; }
public ObjectB PreviousChild { get; set; }
}
如您所见,ObjectA 包含 ObjectB 的两个子代。一个是当前孩子,第二个是前一个孩子。
ObjectB 看起来像这样:
public class ObjectB{
public string DisplayName { get; set; }
}
如何创建一个显示 ObjectA 的“DisplayName”的 TreeView,如果展开 ObjectA,您可以看到两个子节点,一个是 CurrentChild,另一个是 PreviousChild?我知道我可以创建一个 ObjectB 的列表作为 ObjectA 的属性并将 CurrentChild 和 PreviousChild 存储在此列表中,而不是使用两个属性,并且使用这样的列表我可以使用“HierarchicalDataTemplate”做一些简单的事情,但我想知道它是否可以创建一个 TreeView 或另一个 WPF 控件,这些控件可以显示这些对象,而无需更改实际的“后端”代码。我会很感激你的帮助:)
【问题讨论】:
-
根据您如何定义“扩展 ObjectA”,您可能会使用 ListBox 并在选择 ListBoxItem 时显示两个子项(通过其 IsSelected 属性上的触发器)。