在水平平面中旋转文本

时间:2013-07-09 19:56:43

标签: .net wpf storyboard rendertransform

这将像时钟一样旋转文本

    <DoubleAnimation Storyboard.TargetProperty="(TextBlock.RenderTransform).(RotateTransform.Angle)" 
    From="0" To="360" Duration="0:0:0.2" AutoReverse="True" RepeatBehavior="Forever"/>

如何在水平面上旋转文本(并查看背面的镜像)? 此外,我想围绕中点旋转,以便文本保留在TextBlock中 这可以用StoryBoard完成吗?

1 个答案:

答案 0 :(得分:2)

不确定我的要求是否正确,

但这是你想要的吗?

enter image description here

如果是这样,您不需要我的评论中的链接tbh。你可以选择:

<Storyboard x:Key="SomeStoryboard"
            AutoReverse="True"
            RepeatBehavior="Forever">
  <DoubleAnimationUsingKeyFrames Storyboard.TargetName="textBlock"
                                  Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
    <EasingDoubleKeyFrame KeyTime="0:0:1"
                          Value="-1" />
  </DoubleAnimationUsingKeyFrames>
</Storyboard>
...
<TextBlock x:Name="textBlock"
            HorizontalAlignment="Left"
            RenderTransformOrigin="0.5,0.5"
            Text="Some random text">
  <TextBlock.RenderTransform>
    <TransformGroup>
      <ScaleTransform />
      <SkewTransform />
      <RotateTransform />
      <TranslateTransform />
    </TransformGroup>
  </TextBlock.RenderTransform>
</TextBlock>