1

我正在开发一个带有树视图控件的 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,也会发生同样的情况。有什么问题?

4

1 回答 1

0

这对我有用,举一个像你描述的那样简单的例子。不过,我必须为发件人添加演员表,否则无法编译。

var selectedItem = (sender as TreeView).SelectedItem;

如果你这样做了,那么问题一定出在其他地方。您的代码中是否还有其他可能是问题根源的内容?

于 2013-04-30T09:48:17.907 回答