1

我有一个在网格行上DataTrigger动画的。它在类型为SolidColorBrushBackground.Color时效果很好,因为它具有Color属性。Background

但是,当突出显示该网格行时,背景变为没有颜色属性的LinearGradientBrush,并且我的故事板因异常而失败。我该如何处理?

这是我的触发器

    <DataTrigger Binding="{Binding Row.State}" Value="Finished">
        <DataTrigger.EnterActions>
            <BeginStoryboard>
                <Storyboard >
                    <ColorAnimation
                                    Storyboard.TargetProperty="Background.(Color)" 
                                    To="LightGreen" Duration="0:0:1" />
                </Storyboard>
        </BeginStoryboard>
    </DataTrigger.EnterActions>
    </DataTrigger>

这是突出显示行时出现的异常。

附加信息:无法解析属性路径“背景。(颜色)”中的所有属性引用。验证适用的对象是否支持这些属性。

4

1 回答 1

0

我把它修好了。

我用过Storyboard.TargetProperty这样的

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

显然它按名称查找类型SolidColorBrush

有关括号的更多信息,请参见MSDN

在多个对象和子属性表单中,您必须使用拥有对象来消除初始属性的歧义,并在此初始 object.property 组合周围放置括号。此后,只需要命名子属性,而不用拥有类型限定,但这些子属性必须存在于前一个属性的值类型上。也可以接受一个稍微冗长的形式来限定后续的子属性拥有类型;例如,“(Rectangle.Fill).(SolidColorBrush.Color)”。

于 2014-07-20T23:24:41.250 回答