0

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' アニメーション オブジェクトは、互換性のない型 'System.Windows.Media.Brush' であるため、プロパティ 'Background' をアニメーション化するために使用できません。

また、 to を変更しようとしましたが、Storyboard.TargetProperty次のようにBackground.Colorなりました。

プロパティ パス 'Background.Color' 内のすべてのプロパティ参照を解決できません。該当するオブジェクトがプロパティをサポートしていることを確認してください。

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

1

Storyboard.TargetProperty="Background.Color"は正しい。試す

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

Background が Null だと思うので、ストーリーボードはアニメーション化するものを見つけることができません。

于 2012-07-17T10:20:02.390 に答える
0

新しいスレッドを開くことができます。このスレッドでは、ループを使用します。このループでは、行の背景色を変更できます。ループでは、スレッドを0.3秒程度スリープします。したがって、点滅しているように見えるはずです。

よろしく

于 2012-07-17T14:07:38.897 に答える
0

試す

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

私のために働いた。

于 2012-07-17T10:22:19.393 に答える