OK、これに関するオンライン リソースがないとは信じられません。簡単なことをして、ListBox
アイテムが選択され、その親ListBox
がフォーカスを失ったときにアイテムのスタイルを変更したい。
VisualStateManager
この目的で使用してきましたが、 Selected
、SelectedFocused
、Focused
状態に重複があるため、たとえば ctrl を押しながらアイテムを選択すると、いくつかのバグが導入されました (間違ったアイテムが選択されているように見えます)。s を使用して修正することにしましたが、フォーカスを失っTrigger
たときにトリガーする方法がないように見えることがわかりました。ListBox
私の質問は、この動作を実装する正しい方法は何ですか。「SystemColors をオーバーライドする」とは言わないでください...
編集:
ListBox
OK、両方の回答に賛成票を投じましたが、マウスオーバーや既に使用している他のスタイルに問題はありませんが、彼の回答はオリジナルとまったく同じように機能するため、Viv の回答を選択しました。私はすでにSelector
添付プロパティの使用法を見てきましたが、試したことはありませんでしIsSelectionActive
た。それは魅力のように機能しました。このタイプの問題のトリガーを使用することをお勧めしますが、これVisualStateManager
は WPF では新しいものです。重複する状態には、回避できるいくつかの問題があることは明らかだと思います。
私の問題の解決策を実装する2つの方法の素晴らしい例を提供してくれたVivとRichardに再び感謝します.