Ich habe eine TreeView, die ein neues Fenster startet, wenn jedes TreeViewItems Selected-Ereignis ausgelöst wird.Übergeordnetes TreeView Item Ghost ausgewähltes Ereignis!
<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>
Code hinter
namespace WpfApplication1
{ public partial class Window1: Fenster { public Window1() { 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)
{
}
}
}
Wenn ich auf dem untergeordneten Knoten klicken Sie das neue Fenster wie erwartet gestartet wird. Unmittelbar danach aber werden die Eltern Selected evenis den Fokus aus dem neuen Fenster entfernen und den Elternknoten als aktuelle Auswahl markieren!
Meine Erwartung war, dass das neu gestartete Fenster den Fokus haben würde, und der Knoten, auf den geklickt wurde, würde grau werden und den Benutzern die Auswahl anzeigen. Hat jemand eine Vorstellung davon, warum das passiert und wie ich es verhindern kann?
Danke, Brette
Ich habe das gleiche Problem beim Starten von der IsSelected-Eigenschaft Setter des ViewModels gefunden. Von dort können Sie den Dispatcher nicht verwenden, daher verwende ich diese Lösung: http://StackOverflow.com/a/5971732/383129 – JoanComasFdz