/ / WPF:コンテキストMeuを表示するTreeViewアイテムを強調表示-c#、wpf、treeview、contextmenu、treeviewitem

WPF:コンテキストを表示しているツリービュー項目をハイライト表示する#、wpf、treeview、contextmenu、treeviewitem

フィルターの選択にTreeViewを使用しています。

TreeViewの異なるカテゴリは、異なるフィルターを開始します。実行には最大3秒かかる場合があります。

各カテゴリには独自のコンテキストメニューがあり、ここで名前の変更や削除などを行うことができます。

ユーザーに見えるようにしたい彼が右クリックしたアイテム。方法は、右クリックイベントで項目を選択することです。ただし、関連するフィルターが実行されるため、メニューの読み込みが遅くなります。

それでは、コンテキストメニューの表示イベントで特定の項目を強調表示するにはどうすればよいですか?

ありがとう

回答:

回答№1は0

コンテキストメニューのIsOpenプロパティにバインドされたスタイルセッターをトリガーします。次のように、アイテムのスタイルでDataTriggerを使用して動作するようになりました。

<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>

明らかに、テキストを赤にするよりも適切なものを選択できます(背景を選択したようにするなど)が、それは一般的な考え方です。