Salve a tutti
ho questo style applicto ad una listBox:
<Style x:Key="MasterListBox" TargetType="ListBox">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style>
<Setter Property="Control.Padding" Value="0" />
<Style.Triggers>
<Trigger Property="ListBoxItem.IsSelected" Value="True">
<Setter Property="ListBoxItem.Background">
<Setter.Value>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="#FF4F890D"/>
<GradientStop Color="White" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="ListBoxItem.Foreground" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Grid Margin="0" Background="White">
<Border Margin="5" BorderThickness="0" BorderBrush="White" CornerRadius="4"
HorizontalAlignment="Stretch"
Background="{Binding Path=Background, RelativeSource={
RelativeSource
Mode=FindAncestor,
AncestorType={x:Type ListBoxItem}
}}">
<Grid Margin="3">
<TextBlock
Text="{Binding Path=NomeCategoria}" />
</Grid>
</Border>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Tutto viene visualizzato come dovrebbe tranne che per un fastidioso comportamento: quando seleziono un elemento della listbox si vede in modo quasi impercettibile (ma si vede) una sottile linea blu orizzontale al bordo del selected item che poi sarebbe parte dello sfondo del template predefinito del selected item della listbox (quello che sovrascrivo con l'itemContainerStyle). La cosa strana è che non sempre questo succede, per esempio se seleziono il primo elemento non vedo nulla se seleziono il terzo la vedo sia sopra che sotto, se seleziono l'ultimo elemento solamente sotto.
Per come è impostato lo style non dovrei vedere nulla dello sfondo blu dello style predefinito ed invece succede quello di cui parlo su.
Qualcuno sa da cosa può dipendere?