【发布时间】:2011-10-08 14:33:55
【问题描述】:
我将 WPF 与 ListView 控件一起使用。
当某个参数设置为 True 时,我希望 ListView 中的行具有闪烁动画。
我有以下代码可以运行,但是一旦鼠标移到动画所在的行上,动画就会停止。
我希望动画一直持续到参数改回 False。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsSelected" Value="{Binding Selected}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding DoBlink}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard FillBehavior="Stop">
<ColorAnimation Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)"
From="Blue" To="LightBlue" Duration="0:0:0.2"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
【问题讨论】:
-
在我看来,当您的鼠标悬停时,它会触发背景更改。您可能需要在 Blend 中分解控件并查看是否可以。另一种可能性是你的背景上有东西,它可能仍然在后面闪烁。和 Snoop 一起看看吧。
-
似乎列表视图默认的鼠标悬停动画正在阻止你......你可以控制这个 tru blend
标签: wpf wpf-controls binding styles