【发布时间】:2011-08-19 14:58:42
【问题描述】:
我有一个项目,我从文件中加载数据并且需要将数据转换为具有多个子项的树视图项。
我知道我可以使用循环以编程方式将这些子项添加到根节点,但是我觉得最有可能的方法是使用 WPF 模板,然后使用该模板设置值,而不是创建和添加许多不同的我的代码中的对象。
【问题讨论】:
我有一个项目,我从文件中加载数据并且需要将数据转换为具有多个子项的树视图项。
我知道我可以使用循环以编程方式将这些子项添加到根节点,但是我觉得最有可能的方法是使用 WPF 模板,然后使用该模板设置值,而不是创建和添加许多不同的我的代码中的对象。
【问题讨论】:
为避免在代码隐藏中创建 TreeView,您需要通过 HierarchicalDataTemplate 绑定到 ItemsSource。
XAML 中内置了两种数据提供程序。第一个是 ObjectDataProvider,它类似于 ObservableCollection。第二个是 XmlDataProvider。
如果您的文件格式是 XML,您可以利用 XmlDataProvider 而不必解析您的文件。如果没有,您需要将文件解析为 ObservableCollection 之类的内容,然后将其用作 HierarchicalDataTemplate ItemsSource。
【讨论】:
听起来您正在寻找 HierachicalDataTemplates:
http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate.aspx
【讨论】: