/ / WPF: Podświetl element TreeView wyświetlający kontekstowy meu - c #, wpf, treeview, contextmenu, treeviewitem

WPF: Zaznacz pozycję TreeView wyświetlając kontekst Meu - c #, wpf, widok drzewa, kontekstmenu, treeviewitem

Korzystam z TreeView do wyboru filtrów.

Różne kategorie w TreeView uruchamiają różne filtry, których uruchomienie może potrwać do 3 sekund.

Każda kategoria ma własne menu kontekstowe, w którym możesz zmienić nazwę, usunąć itp.

Chcę, aby był widoczny dla użytkownika, na którymelement, który kliknął prawym przyciskiem myszy. Po drodze byłoby wybrać element na zdarzenie prawym przyciskiem myszy. Ale powoduje to, że menu ładuje się powoli, ponieważ uruchamia odpowiedni filtr.

Jak mogę podświetlić dany element w zdarzeniu wyświetlania menu kontekstowego?

Dzięki

Odpowiedzi:

0 dla odpowiedzi № 1

Uruchom seter stylów powiązany z właściwością IsOpen menu kontekstowego. Mam to do pracy przy użyciu DataTrigger w stylu dla elementu takiego jak ten:

<Style TargetType="{x:Type TreeViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding ContextMenu.IsOpen, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>

Oczywiście możesz wybrać coś bardziej odpowiedniego do zrobienia niż zmiana koloru tekstu na czerwony (np. Wybranie tła, aby wyglądało na zaznaczone), ale taki jest ogólny pomysł.