У меня есть приложение Silverlight, в котором я стилизовал свои списки. Это часть стиля ListBoxItem, который распространяется на все приложения:
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ListBoxItemGrid" Storyboard.TargetProperty="Background" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource MouseOverColorBrush}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
Теперь у меня есть еще один список, в котором я не хочу, чтобы что-то происходило, когда пользователь наводит курсор на ListBoxItem. Я пробовал это:
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver" />
</VisualStateGroup>
Но это не похоже на работу. Как я могу переопределить стандартный стиль для всего приложения? Я не уверен, что это уместно, но стиль для всего приложения - это стиль, в то время как мой «специальный» список имеет шаблон для своего ListBoxItem.