2011-05-19 14 views
1

我有一個指示操作模式的控件。根據當前模式(自動,手動或無),它會向左或向右旋轉幾度,同時也會更改標籤的內容。旋轉已經正常工作。但標籤的內容不顯示,無論當前狀態如何。控制模板中是否有任何錯誤(我通過刪除第三個狀態來簡化模板)?或者還有什麼不是它應該的方式?標籤上的StringAnimation

在此先感謝!

<ControlTemplate TargetType="{x:Type local:OperationModeIndicator}"> 
    <Grid x:Name="rootGrid" RenderTransformOrigin="0.5,0.525"> 
     <VisualStateManager.VisualStateGroups> 
      <VisualStateGroup x:Name="OperationModeStates"> 
       <VisualState x:Name="None"> 
        <Storyboard> 
         <StringAnimationUsingKeyFrames Storyboard.TargetName="contentLabel" Storyboard.TargetProperty="Content" > 
          <DiscreteStringKeyFrame Value="" /> 
         </StringAnimationUsingKeyFrames> 
         <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)" Storyboard.TargetName="rootGrid" > 
          <EasingDoubleKeyFrame KeyTime="0" Value="0"/> 
         </DoubleAnimationUsingKeyFrames> 
         <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)" Storyboard.TargetName="contentLabel"> 
          <EasingDoubleKeyFrame KeyTime="0" Value="0"/> 
         </DoubleAnimationUsingKeyFrames> 
        </Storyboard> 
       </VisualState> 
       <VisualState x:Name="Automatic"> 
        <Storyboard> 
         <StringAnimationUsingKeyFrames Storyboard.TargetName="contentLabel" Storyboard.TargetProperty="Content" > 
          <DiscreteStringKeyFrame Value="A" /> 
         </StringAnimationUsingKeyFrames> 
         <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)" Storyboard.TargetName="rootGrid"> 
          <EasingDoubleKeyFrame KeyTime="0" Value="-30"/> 
         </DoubleAnimationUsingKeyFrames> 
         <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)" Storyboard.TargetName="contentLabel"> 
          <EasingDoubleKeyFrame KeyTime="0" Value="30"/> 
         </DoubleAnimationUsingKeyFrames> 
        </Storyboard> 
       </VisualState> 
      </VisualStateGroup> 
     </VisualStateManager.VisualStateGroups> 
     <Grid.RenderTransform> 
      <TransformGroup> 
       <RotateTransform/> 
      </TransformGroup> 
     </Grid.RenderTransform> 
     <Label x:Name="contentLabel" Foreground="#FFDA1D1D" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="48" RenderTransformOrigin="0.5,0.525" > 
      <Label.RenderTransform> 
       <TransformGroup> 
        <RotateTransform/> 
       </TransformGroup> 
      </Label.RenderTransform> 
     </Label> 
     <Path Stroke="Gray" StrokeThickness="5"> 
      <Path.Data> 
       <PathGeometry> 
        <PathFigure StartPoint="35 10" > 
         <ArcSegment Point="65 10" Size="45 45" RotationAngle="0" IsLargeArc="True" /> 
        </PathFigure> 
       </PathGeometry> 
      </Path.Data> 
     </Path> 
     <Line X1="2.5" X2="2.5" Y1="0" Y2="20" StrokeThickness="5" Stroke="Gray" HorizontalAlignment="Center" /> 
    </Grid> 
</ControlTemplate> 

回答

0

該動畫按預期工作。這是Blend,沒有顯示它。無論如何,原因還不得而知。