WPF:スタイル付きリストボックスのフォーカスされたアイテムの周りの点線の境界線を削除します


84

カスタムcontrolIemplateを備えた水平リストボックスがあります。フォーカスすると、選択したアイテムに点線の枠が付きます。誰もがそれを取り除く方法を知っていますか?

回答:


164

各ListBoxItemのFocusVisualStyleをnullに設定する必要があります。手順は次のとおりです

1)リストボックスのItemContainerStyleを作成します

<Style x:Key="ListBoxItemStyle1" TargetType="{x:Type ListBoxItem}"> 
   <Setter Property="FocusVisualStyle" Value="{x:Null}"/> ....

2)そのスタイルをリストボックスに設定します

<ListBox ItemContainerStyle="{DynamicResource ListBoxItemStyle1}"

5
この答えはうまく機能しますが、ここでは大きな問題があります。この方法を使用する、コントロールには、Windows8でフォーカスされているインジケーターが表示されません。FocusVisualStyleWindows 7で無効になっている場合でも、ボタンなどのコントロールは全体的に青いハイライトを保持しますが、Windows 8では、グループ内のどのコントロールがフォーカスされているかを判断することは完全に不可能です。
Evan Wondrasek 2013年

知っておくと良い。この場合の目標は、より多くのコントロールを含むリストアイテムの視覚スタイルを削除することでした。子コントロールは、フォーカススタイルがそのまま残ります。
Vegar 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.