我正在使用树视图控件处理WPF应用程序。我创建了双击事件的事件。但每当我双击TreeViewItem根元素时,
这是XAML
<HierarchicalDataTemplate x:Key="TreeViewItem" ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="2" Text="{Binding Name}" />
</StackPanel>
</HierarchicalDataTemplate>
<TreeView
ItemTemplate="{StaticResource TreeViewItem}"
ItemsSource="{Binding Hosts}"
MouseDoubleClick="TreeView_MouseDoubleClick">
这是我背后的代码。
private void TreeView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var selectedItem = sender.SelectedItem;
}
这是我的TreeView结构示例
CountryA
CityA
Street1
Street2
CityB
Street3
CountryB
CityC
现在如果我双击Street1,那么在事件处理程序sender.SelectedItem是CountryA。如果我双击CityA或CityB,也会发生同样的情况。有什么问题?
答案 0 :(得分:0)
这对我有用,举个例子就像你描述的一样简单。 我不得不为发件人添加一个演员,或者它不会编译。
var selectedItem = (sender as TreeView).SelectedItem;
如果您这样做,那么问题必定在其他地方。您的代码中还有其他可能是问题根源的其他内容吗?