1

我想在 TreeViewItem 中存储一个类的实例,这样我就不必让程序对可能为它选择的项目列表进行排序。

即看起来像的东西

Bagel Poppyseed = new Bagel();    
TreeViewItem TreeViewPoppyseed = new TreeViewItem();
TreeViewPoppyseed.Bagel = Poppyseed;

这样选择时,就可以选择TreeViewPoppyseed,不需要运行不同的方法来获取它具有的百吉饼实例。它可以像TreeView.SelectedItem.Bagel;

这样的东西已经存在了吗?

4

2 回答 2

4

这就是该Tag属性的用途,您可以将对象放入其中并稍后检索它。

请参阅此处:http: //msdn.microsoft.com/en-us/library/system.windows.frameworkelement.tag.aspx

此外,如果您的数据绑定到该对象,那么它将在DataContext属性中。

于 2011-05-14T02:44:33.593 回答
1

您可以为树视图项制作数据模板,然后您可以访问 DataContext 属性以获取绑定对象。

在事件处理程序中:

TreeViewItem tvi = (TreeViewItem)sender;
Bagel bagel = (Bagel)tvi.DataContext;
//do whatever you want with bagel and tree view item
于 2011-05-14T02:45:53.450 回答