2016-04-05 1 views
0

ビューステートでユーザーコントロール上でストーリーボードをトリガーしているときに、次のような例外が発生しています。UWP/Winrtアプリケーションのストーリーボードにおける断続的な例外

WinRTの情報:指定されたオブジェクトにTargetProperty(背景)(SolidColorBrush.Color)を解決することはできません

マイストーリーボードは以下の通りです -

<StackPanel Orientation="Horizontal"> 
     <VisualStateManager.VisualStateGroups> 
      <VisualStateGroup> 
       <VisualState x:Name="Connecting"> 
        <Storyboard RepeatBehavior="Forever"> 
         <ColorAnimationUsingKeyFrames Storyboard.TargetName="Bd1" Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)"> 
          <DiscreteColorKeyFrame Value="#F7F7F7" KeyTime="0:0:0" /> 
          <DiscreteColorKeyFrame Value="#6CBF25" KeyTime="0:0:1" /> 
          <DiscreteColorKeyFrame Value="#F7F7F7" KeyTime="0:0:5" /> 
         </ColorAnimationUsingKeyFrames> 
         <ColorAnimationUsingKeyFrames Storyboard.TargetName="Bd1" Storyboard.TargetProperty="(BorderBrush).(SolidColorBrush.Color)"> 
          <DiscreteColorKeyFrame Value="#919191" KeyTime="0:0:0" /> 
          <DiscreteColorKeyFrame Value="#01851F" KeyTime="0:0:1" /> 
          <DiscreteColorKeyFrame Value="#919191" KeyTime="0:0:5" /> 
         </ColorAnimationUsingKeyFrames> 

        </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
     </VisualStateManager.VisualStateGroups> 
     <Border x:Name="Bd1" Height="5" /> 
    </StackPanel> 

そして、私はそれをトリガーする方法

VisualStateManager.GoToState(this, "Connecting", false); 

この視覚的な状態は、通常、UserControlの負荷ですぐにトリガされます。

答えて

1

Bd1SolidColorBrushが定義されていないため、失敗しています。 BackgroundのタイプはBrushなので、SolidColorBrushでinitilaiseできるようにして、アニメーションが機能するはずです。私はBorderBrushを追加だけでなく、あなたはあなたがあなたの国境にはデフォルトの色を持っていない

<Border x:Name="Bd1" Width="200" Height="5" Background="Red" BorderBrush="Red" /> 
1

画面上でそれを見ることができるとWidthをアニメーション化しています。したがって、ストーリーボードからアクセスできません。

これは動作します:

<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="BorderAnimationGroup"> 
      <VisualStateGroup.Transitions> 
       <VisualTransition GeneratedDuration="0"/> 
      </VisualStateGroup.Transitions> 
      <VisualState x:Name="Connecting"> 
       <Storyboard RepeatBehavior="Forever"> 
        <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)" Storyboard.TargetName="Bd1"> 
         <EasingColorKeyFrame KeyTime="0" Value="#FFF7F7F7"/> 
         <EasingColorKeyFrame KeyTime="0:0:1" Value="#FF6CBF25"/> 
         <EasingColorKeyFrame KeyTime="0:0:5" Value="#FFF7F7F7"/> 
        </ColorAnimationUsingKeyFrames> 
        <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" Storyboard.TargetName="Bd1"> 
         <EasingColorKeyFrame KeyTime="0" Value="#FF919191"/> 
         <EasingColorKeyFrame KeyTime="0:0:1" Value="#FF01851F"/> 
         <EasingColorKeyFrame KeyTime="0:0:5" Value="#FF919191"/> 
        </ColorAnimationUsingKeyFrames> 
       </Storyboard> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 
    <Border x:Name="Bd1" BorderBrush="#FF919191" BorderThickness="1" Height="5" Background="White"> 
     <Interactivity:Interaction.Behaviors> 
      <Core:EventTriggerBehavior> 
       <Core:GoToStateAction StateName="Connecting"/> 
      </Core:EventTriggerBehavior> 
     </Interactivity:Interaction.Behaviors> 
    </Border> 
</StackPanel> 
関連する問題