我正在使用樹視圖控件來處理WPF應用程序。我爲雙擊事件創建了事件。但是每當我雙擊一個TreeViewItem根元素被選中。TreeView在雙擊事件時選擇Root作爲selectedItem
這裏是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,也會發生同樣的情況。有什麼問題?
我無法重現您所描述的內容。您是否在TreeView上定義了任何附加綁定?你還在做什麼MouseDoubleClick方法 – Jehof 2013-04-30 09:25:05
我遵循MVVM。但是對於選定的項目,我正在使用事件處理程序。這是問題嗎? – 2013-04-30 09:46:12
我只能重現你描述當我點擊TreeViewItem的文本(空白處)旁邊的地方。如果我雙擊完全正確的文本SelectedItem。 – Jehof 2013-04-30 10:06:17