0

我有两个故事板如下。

<Storyboard x:Name="ToRed">
        <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"                                          >
            <EasingColorKeyFrame KeyTime="0" Value="Transparent"/>
            <EasingColorKeyFrame KeyTime="0:0:0.3" Value="Red"/>
            <EasingColorKeyFrame KeyTime="0:0:0.9" Value="Transparent"/>
        </ColorAnimationUsingKeyFrames>
    </Storyboard>
    <Storyboard x:Name="ToGreen">
        <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"                                           >
            <EasingColorKeyFrame KeyTime="0" Value="Transparent"/>
            <EasingColorKeyFrame KeyTime="0:0:0.3" Value="#FF14A514"/>
            <EasingColorKeyFrame KeyTime="0:0:0.9" Value="Transparent"/>
        </ColorAnimationUsingKeyFrames>
    </Storyboard>

我需要根据我的虚拟机中的属性将这些故事板应用到边框控件的背景属性。我可以将它们包装成一种样式并将其绑定到属性吗?没有情节提要我做这样的事情

<Border BorderBrush="AliceBlue">
<Border.Background>
    <SolidColorBrush Color="{Binding Path=Direction,
        Converter={StaticResource dirToColConvertor}}"/>
</Border.Background>    

4

2 回答 2

0

要更改控件的状态,您必须调用

VisualStateManager.GoToSate(yourcontrol,statename,IsTransition)。

于 2012-07-09T18:10:43.773 回答
0

我通过结合vinod8812的答案和自定义附加属性来解决它(如此处所述:http: //umairsaeed.com/2010/04/22/custom-attached-properties-in-silverlight)。我将每个故事板更改为可视状态,并使用附加属性将其绑定到我的视图模型。

于 2012-07-12T11:15:06.470 回答