如何使DevExpress网格行闪烁?

时间:2012-07-17 10:09:08

标签: wpf devexpress

尝试在DevExpress网格中为单行执行简单的红色闪烁效果。

我在网格的行上应用了以下样式:

<Style x:Key="AlertedRowStyle" TargetType="{x:Type dxg:GridRowContent}">
    <Style.Triggers>
        <DataTrigger Binding="{Binding Path=Row.IsAlerted}" Value="False">
            <DataTrigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <ColorAnimation
                                    Storyboard.TargetProperty="Background"
                                    To="Red"
                                    Duration="0:0:0.500"
                                    AutoReverse="True"
                                    RepeatBehavior="Forever">
                            <ColorAnimation.EasingFunction>
                                <CircleEase EasingMode="EaseOut" />
                            </ColorAnimation.EasingFunction>
                        </ColorAnimation>
                    </Storyboard>
                </BeginStoryboard>
            </DataTrigger.EnterActions>
            <DataTrigger.ExitActions>
                <BeginStoryboard>
                    <Storyboard>
                        <ColorAnimation
                                    Storyboard.TargetProperty="Background"
                                    To="White"
                                    Duration="0:0:0.500" />
                    </Storyboard>
                </BeginStoryboard>
            </DataTrigger.ExitActions>
        </DataTrigger>
    </Style.Triggers>
</Style>

它会导致以下异常:

'System.Windows.Media.Animation.ColorAnimation'动画对象不能用于为属性'Background'设置动画,因为它是不兼容的类型'System.Windows.Media.Brush'。

还尝试将Storyboard.TargetProperty更改为Background.Color并获得:

无法解析属性路径'Background.Color'中的所有属性引用。验证适用的对象是否支持属性。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

Storyboard.TargetProperty="Background.Color"是对的。尝试

<Style x:Key="AlertedRowStyle" TargetType="{x:Type dxg:GridRowContent}">
    <Setter Property="Background" Value="Transparent" />
    <Style.Triggers>
        ...

我猜背景是空的,因此故事板无法找到动画的内容。

答案 1 :(得分:0)

尝试

Storyboard.TargetProperty="Background.(SolidColorBrush.Color)"

为我工作。

答案 2 :(得分:0)

你可以打开一个新线程。在这个线程中,您使用循环。在此循环中,您可以更改行的Backcolor。在循环中,你将线程休眠0.3秒或其他东西。所以它应该看起来像闪烁。

问候