2011-01-06 23 views
0

私はフィルタの選択にTreeViewを使用しています。WPF:ツリービュー項目を強調表示コンテキストMeuを表示

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

各カテゴリには、uは、削除、名前の変更を行うことができ、それ自身のコンテキストメニュー、など私は彼が組み込みRightClickedどのアイテムに、ユーザーにそれが見えるようにしたい

を持っています。右クリックイベントでアイテムを選択することです。しかし、これにより、関連するフィルタが実行されるため、メニューの読み込みが遅くなります。

したがって、コンテキストメニューの表示イベントで特定のアイテムをどのように強調表示できますか?

ありがとうございます。

答えて

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> 

あなたが(多分背景が選択見せることのような)テキスト赤を回すよりも行うことがより適切なものを選択することができますが、それはです一般的なアイデア。

+0

それぞれのツリービュー項目に対して別々のContextMenuインスタンスが必要なようですが、これは不便かもしれません。 –

+0

私はすでにフィルタグループに基づいて別のコンテキストメニューを持っています。 – Amirshk

関連する問題