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