0

次のように2つのストーリーボードがあります。

<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>

VM のプロパティに従って、これらのストーリーボードを Border コントロールの背景プロパティに適用する必要があります。これらをスタイルでラップしてプロパティにバインドできますか? ストーリーボードなしで私はこのようなことをします

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

4

2 に答える 2

0

コントロールの状態を変更するには、呼び出す必要があります

VisualStateManager.GoToSate(コントロール、状態名、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 に答える