我有一个从TreeViewItem(自定义TreeViewItem)派生的类,它被用于从TreeView(自定义TreeView控件)派生的类中。 当我的控件的用户使用默认的设计时集合编辑器向我的自定义TreeView添加项目时,我希望新添加的项目具有默认名称(例如MyNode1,MyNode2等),并且我希望这些名称写在XAML中。 有任何关于如何实现这一点的想法吗? 我注意到当你从工具箱放置一个控件时,它会分配一个默认名称。如果可能的话,我想重用Visual Studio 2010中现有的机制来为我的树节点类命名。
TreeView和TreeViewItem是用户界面控件,不应用于存储任何需要保存的信息。相反,您应该创建一个分层数据类型来存储您的信息,将其绑定到TreeView.ItemsSource属性,并提供一个HierarchicalDataTemplate以按您希望的方式显示数据。 这样,您可以通过简单地向视图模型或代码后台中的绑定集合添加新的数据类型对象来向TreeView添加新项。在将它们添加到集合之前,您可以为对象分配任何值,并且它们都可以随时从集合中访问。