Wie kann ich in WPF TreeView Farbe eines TreeViewItems änder wenn es doppel geklickt wird?
Hallo WPF Spezialisten,
Ich habe in WPF einen TreeView. Wenn nun ein Doppelklick auf ein Element ausgeführt wird will ich die Hintergrundfarbe des angeklickten Items ändern. Ich habe mich bereits auf das MouseDoubleKlickEvent angemeldet. Ich habe versucht das SelectedItem auf ein TreeViewItem zu casten und dann auf die Property Background zuzugreifen, das endet aber in einer NullReferenceException. Meine Frage ist nun wie kann ich das Doppelt angeklickte Item farblich hervorheben.
Danke :)
2 Antworten
Also bei mir funktioniert das so:
- TreeView in z.B treeview benennen :)
- Test Items hinzufuegen (normalerweise würde hier ein beispiel stehen aber das wird durch den immer wieder so gut funktionierenden texteditor von gutefrage leider unterbunden)
- Neues Event für den DoubleClick wie du schon richtig gemacht hast.
- Und dann diesen wunderschönen formatierten platzsparenden code verwenden.
private void treeview_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
(this.treeview.SelectedItem as TreeViewItem).Background = Brushes.Black;
}
Das wars auch schon. Bei fragen einfach kommentieren :)
Ich hab zwar noch nie irgendwas mit WPF gemacht aber vielleicht find ichs ja raus :D
Gib mir mal ein paar Minuten, ich schreib dann nen Kommentar oder so unter diese Antwort.
Ein Cast wird in dem Fall nichts bringen, weil das eigentliche Item lediglich vom Typ String ist. Eine konkrete Lösung habe ich hierfür jetzt nicht auf die Schnelle hinbekommen, aber werf doch mal einen Blick auf das hier: http://stackoverflow.com/questions/21606281/change-wpf-treeviewitem-background-color-when-selected-but-lost-focus