我有一個TreeView,當它的每個TreeViewItems Selected事件被引發時,它會啓動一個新窗口。Parent TreeView項目鬼選定的事件!
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
Height="300"
Width="300">
<Grid>
<TreeView Name="treeView1">
<TreeViewItem Header="Root">
<TreeViewItem Header="Parent" Selected="ParentTreeViewItem_Selected">
<TreeViewItem Header="Child" Selected="TreeViewItem_Selected" ></TreeViewItem>
</TreeViewItem>
</TreeViewItem>
</TreeView>
</Grid>
</Window>
代碼後面
namespace WpfApplication1
{ 公共部分類窗口1:窗口 { 公共窗口1() { 的InitializeComponent(); }
private void TreeViewItem_Selected(object sender, RoutedEventArgs e)
{
Window w = new Window();
w.Show();
e.Handled = true;
}
private void ParentTreeViewItem_Selected(object sender, RoutedEventArgs e)
{
}
}
}
當我點擊如預期的那樣推出新窗口中的子節點上。然而,它的父母選中的事件的後綴卻是從新窗口中開始竊取焦點,並將父節點標記爲當前選擇!
我的期望是新推出的窗口將有焦點,並且被點擊的節點會變成灰色,向用戶顯示他/她的選擇。有沒有人有任何想法,爲什麼發生這種情況,我如何能夠防止它?
感謝, Brette
從ViewModel的IsSelected屬性設置器啓動它時發現相同的問題。從那裏,你不能使用分派器,所以我使用這個解決方案:http://stackoverflow.com/a/5971732/383129 – JoanComasFdz 2012-04-13 15:29:57