我有一个派生自 TreeviewItem(自定义 TreeViewItem)的类,该类被派生自 Treeview(自定义 Treeview 控件)的类使用。
当我的控件的用户使用默认设计时集合编辑器将项目添加到我的自定义 TreeView 时,我希望新添加的项目具有默认名称(如 MyNode1、MyNode2 等),并且我希望它以 XAML 编写。
关于如何做到这一点的任何想法?
我注意到,当您从工具箱中删除一个控件时,它会分配一个默认名称。如果可能的话,我想为我的树节点类重用 Visual Studio 2010 中的现有机制。
最佳答案
TreeView
s 和 TreeViewItem
s 是用户界面控件,不应用于存储任何需要保存的信息。相反,您应该创建一个分层数据类型来存储您的信息,将其绑定(bind)到 TreeView.ItemsSource
属性(property)并提供HierarchicalDataTemplate
根据需要显示数据。
这样,您可以将新项目添加到 TreeView
通过简单地将新的数据类型对象添加到您的 View 模型或代码后面的绑定(bind)集合中。您可以在将对象添加到集合之前为对象分配您想要的任何值,并且它们都可以在任何时候从集合中访问。
关于.net - 为自定义 TreeViewItem 自动生成名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9002085/