Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf TreeView/HierarchycalDataTemplate-如何获取所选项目?_Wpf_Treeview_Hierarchicaldatatemplate - Fatal编程技术网

Wpf TreeView/HierarchycalDataTemplate-如何获取所选项目?

Wpf TreeView/HierarchycalDataTemplate-如何获取所选项目?,wpf,treeview,hierarchicaldatatemplate,Wpf,Treeview,Hierarchicaldatatemplate,我有一个带有层次数据模板的树状视图。它绑定到ApplicationMenu对象的集合,每个对象都包含自己的ApplicationMenu对象集合 我正在尝试获取所选的应用程序菜单,但似乎找不到这样做的方法。我不在乎是MVVM还是代码落后 任何帮助都将不胜感激。访问TreeView的SelectedItem属性并将其强制转换为您的类型如何?:var item=TreeView.SelectedItem as ApplicationMenu;与我上次的评论相反,TreeView.SelectedIt

我有一个带有层次数据模板的树状视图。它绑定到ApplicationMenu对象的集合,每个对象都包含自己的ApplicationMenu对象集合

我正在尝试获取所选的应用程序菜单,但似乎找不到这样做的方法。我不在乎是MVVM还是代码落后


任何帮助都将不胜感激。

访问TreeView的SelectedItem属性并将其强制转换为您的类型如何?:var item=TreeView.SelectedItem as ApplicationMenu;与我上次的评论相反,
TreeView.SelectedItem
是只读的,无法绑定。只有代码隐藏。不过,您可以处理treeview的
SelectedItemChanged
事件,并从那里更新viewmodel。谢谢您的帮助。我尝试过使用SelectedItemChanged事件,但没有触发。
<TreeView 
     x:Name="TreeView"
     DataContext="{Binding ApplicationMenu, Mode=TwoWay}" 
     ItemsSource="{Binding ApplicationMenuNodes}"
     Width="Auto" 
     FontFamily="Segoe UI"
     BorderThickness="0" 
     BorderBrush="Transparent" 
     Background="Transparent" 
     >
     <TreeView.Resources>
         <HierarchicalDataTemplate
             DataType="{x:Type businessobject:ApplicationMenu}" 
             ItemsSource="{Binding ApplicationMenuNodes}"
             />
     </TreeView.Resources>
 </TreeView>