WFPでListBoxを使用している際時に、マウスカーソルが子要素の上にMouseOverしたときに要素を強調表示するために青い枠が以下のように表示されます。
これを停止するためには以下のコードを記述します。デフォルトのスタイルを停止して自作の表示に切り替えます。
<ListBox ItemsSource="{Binding Items}"> <ItemsControl.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="OverridesDefaultStyle" Value="True" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ContentControl}"> <ContentPresenter /> </ControlTemplate> </Setter.Value> </Setter> </Style> </ItemsControl.ItemContainerStyle> </ListBox>
ただ、これをしてしまうとデフォルトの表示が全部停止してしまうので、希望の動作を全部記述しなくて位はいけなくなります。
また、IsMouseOverしたときに、BackGroundを透過するアイデアは指定しても期待した効果は発生しませんので注意が必要です。
<Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Transparent"/> </Trigger> </Style.Triggers>