アイテムを選択したときにフォーカス長方形を表示したい。
IsFocusedPropertyは読み取り専用であるため、XAMLでは実行できません。
フォーカスされた長方形を表示するにはどうすればよいですか...
どんな助けでもありがたいです。
アイテムを選択したときにフォーカス長方形を表示したい。
IsFocusedPropertyは読み取り専用であるため、XAMLでは実行できません。
フォーカスされた長方形を表示するにはどうすればよいですか...
どんな助けでもありがたいです。
フォーカス四角形はキーボード フォーカスの一部であり、ユーザーがキーボードを使用して入力要素にフォーカスを設定すると表示されます。(Keyboard.Focus() を使用して) キーボード フォーカスを手動で設定してテストしましたが、うまくいかないようです。
そのため、ListBoxItem が選択されたときにフォーカス rect をシミュレートするカスタム スタイルを作成することをお勧めします。私はうまくいくと思われる以下のスタイルを思いつきました。実際のフォーカス rect が表示されたときに奇妙に見えないように、フォーカス rect のダッシュ配列と一致させます。
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Grid>
<Border Background="{TemplateBinding Background}">
<ContentPresenter Margin="{TemplateBinding Padding}"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Green"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
これにより、ListBoxItem の一般的な表示方法をより詳細に制御できます。これを他のリスト タイプ (ListViewItem など) にも簡単に適用できます。