У меня есть приложение 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>
Но, похоже, это не работает. Как я могу переопределить стиль по умолчанию для всего приложения? Я не уверен, что это актуально, но стиль для всего приложения - это Style, а в моем «специальном» списке есть Template для его ListBoxItem.