У меня есть ListView
с ItemContainerStyle
, определенным как таковой:
<ListView Width="auto"
SelectionMode="Single"
ItemContainerStyle="{StaticResource ItemContStyle}"
....
Затем в baseListViewStyle
я определил некоторые базовые стили для применения к моим ListView
, включая триггер Style
:
<Style x:Key="baseListViewStyle" TargetType="ListViewItem">
<Setter Property="Height" Value="20" />
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
Trigger
здесь выделяет строку, когда на нее наведен указатель мыши. Хороший.
У меня тоже есть DataTrigger
на ListViewItem
:
<Style.Triggers>
<DataTrigger Binding="{Binding IsTestTrue}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource SomeFunkyAnimation}" />
</DataTrigger.EnterActions>
</DataTrigger>
Если тест верен, то воспроизводится небольшая анимация затухания. Все это работает, за исключением случаев, когда я навожу мышь на строку, где «тест верен», анимация останавливается и отображается стиль мыши над стилем.
Любые идеи, как я могу переопределить этот стиль в моем DataTrigger
?
ТИА
Обновление:
SomeFunkyAnimation
анимирует цвет фона. XAML для этого находится здесь:
<Style x:Key="ItemContStyle" TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource baseListViewStyle}">
<Style.Resources>
<Storyboard x:Key="SomeFunkyAnimation" FillBehavior="Stop">
<ColorAnimation Storyboard.TargetProperty="Background.Color" RepeatBehavior="Forever" From="Red" To="Pink" Duration="0:0:3"/>
</Storyboard>
</Style.Resources>
Триггер MouseOver
определен в baseListViewStyle
. DataTrigger
определяется в ItemContStyle
.
Я попытался удалить триггер стиля MouseOver
, но это не сработало, так как я считаю, что для Listview
уже определен стиль MouseOver
по умолчанию, поэтому он переопределяет мою анимацию DataTrigger
.
Foreground
тоже? А где у тебяDataTrigger
определяется? В стилеListViewItem
по умолчанию или это местный стиль? Более важно: определены ли триггерыIsMouseOver
иDataTrigger
в одном и том же стиле? - person gehho   schedule 18.05.2010