我有一个TreeView
,它使用HierarchicalDataTemplate
绑定(bind)其数据。
看起来像这样:
<TreeView x:Name="mainTreeList" ItemsSource="{Binding MyCollection}>
<TreeView.Resources>
<HierarchicalDataTemplate
DataType="{x:Type local:MyTreeViewItemViewModel}"
ItemsSource="{Binding Children}">
<!-- code code code -->
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
现在,从说完主窗口的代码后面,我想获取当前选择的
TreeViewItem
。但是,如果我使用:this.mainTreeList.SelectedItem;
selectedItem类型为
MyTreeViewItemViewModel
。但是我想获取“父”或“绑定(bind)”的TreeViewItem
。我不会将其传递给我的TreeViewItemModel
对象(甚至不知道如何)。我怎样才能做到这一点?
最佳答案
从Bea Stollnitz关于此的博客条目中,尝试
TreeViewItem item = (TreeViewItem)(mainTreeList
.ItemContainerGenerator
.ContainerFromIndex(mainTreeList.Items.CurrentPosition));