我想定义双击,即使是在TreeView上,这样我就能够知道TreeView中的哪个项目被选中,并获得他的标题。我试图获得它的标题的方式让我得到了"MyProject.MenuItem“。我如何引用树上的选定项,确保它不是根,并获得它的标题?我做了什么:
<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",我想要做的不是显示一个消息框,而是获取所选树形视图项目的标题,在检查它不是根目录后
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());
}发布于 2014-06-16 15:19:29
更改双击处理程序,如下所示。它不是调用ToString,而是访问MenuItem item类的Title属性。
private void TreeView_MouseDoubleClick(object sender, RoutedEventArgs e)
{
var menuItem = trvMenu.SelectedItem as MyProject.MenuItem;
if (menuItem != null)
{
MessageBox.Show(menuItem.Title);
}
}https://stackoverflow.com/questions/24237716
复制相似问题