我有一个派生自TreeviewItem(Custom TreeViewItem)的类,它由从Treeview派生的类(自定义Treeview控件)使用。
当我的控件的用户使用默认设计时集合编辑器将项目添加到我的自定义TreeView时,我希望新添加的项目具有默认名称(如MyNode1,MyNode2等),我希望将其写入XAML。 />
关于如何做到这一点的任何想法?
我注意到,当您从工具箱中删除控件时,它会为其分配一个默认名称。我希望在Visual Studio 2010中重用此现有机制,如果可能的话,我的树节点类。
答案 0 :(得分:1)
TreeView
和TreeViewItem
是用户界面控件,不应用于存储需要保存的任何类型的信息。相反,您应该创建一个分层数据类型来存储您的信息,将其绑定到TreeView.ItemsSource
属性并提供HierarchicalDataTemplate
以显示您希望的数据。
这样,您只需将新数据类型对象添加到视图模型或后面的代码中的绑定集合中,即可向TreeView
添加新项。在将对象添加到集合之前,您可以为对象分配所需的任何值,并且可以在所有时间从集合中访问它们。