Я хочу определить двойной щелчок даже на TreeView, чтобы я мог узнать, какой элемент в TreeView был выбран, и получить его название. То, как я пытаюсь получить его название, дает мне «MyProject.MenuItem». Как я могу ссылаться на выбранный элемент на дереве, убедиться, что это не корень, и получить его название? Что я сделал:Событие двойного щелчка TreeView
<TreeView Name="trvMenu" HorizontalAlignment="Left" Height="312" VerticalAlignment="Top" Width="200" MouseDoubleClick="TreeView_MouseDoubleClick" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:MenuItem}" ItemsSource="{Binding Items}">
<TextBlock Text="{Binding Title}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
MessageBox показывает «MyProject.MenuItem», что я хочу сделать, это не показывать MessageBox, но, чтобы получить название выбранного элемента TreeView, после проверки его не корень
private void TreeView_MouseDoubleClick(object sender, RoutedEventArgs e)
{
if (sender is TreeViewItem)
if (!((TreeViewItem)sender).IsSelected)
return;
TreeViewItem tviSender = sender as TreeViewItem;
MessageBox.Show(trvMenu.SelectedItem.ToString());
}
Значит, вам нужно получить доступ к дочерним элементам TreeView в коде? –
http://stackoverflow.com/questions/24197633/recursively-collapse-all-child-nodes-of-parent-node-in-custom-usercontrol/24197901#24197901 – Sajeetharan
Да, дочерние элементы добавляются во время выполнения, а я хотите получить свой титул в коде. @RobertLangdon – Yona