我是wpf的初学者,我想要旋转一个TextBlock,但我有错误:"无法解析属性路径中的所有属性引用' RotateTransform.Angle'。验证适用的对象是否支持属性。"
<TextBlock Grid.Row="1" Grid.Column="1" RenderTransformOrigin="0.5,0.5" Style="{StaticResource Rotate}">
<TextBlock.RenderTransform>
<TransformGroup>
<RotateTransform Angle="-16.308"/>
</TransformGroup>
</TextBlock.RenderTransform>
<TextBlock.Background>
<ImageBrush ImageSource="image/1.png"></ImageBrush>
</TextBlock.Background>
</TextBlock>
这是我的风格
<Style x:Key="Rotate" TargetType="{x:Type TextBlock}">
<!--<Setter Property="Width" Value="10"></Setter>
<Setter Property="Height" Value="10"></Setter>-->
<Setter Property="Background" Value="Black"></Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions >
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="RotateTransform.Angle" To="-360" Duration="0:0:1" RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
答案 0 :(得分:1)
你应能够使用xaml中堆叠面板的方向轻松旋转,但这不能立即访问角度。
<StackPanel Orientation="Horizontal">
<Textbox ...../>
</StackPanel>
或者在你的风格中你可以添加一个setter属性。
<Setter Property="RenderTransform">
<Setter.Value>
<RotateTransform Angle="-90"></RotateTransform>
</Setter.Value>
</Setter>
答案 1 :(得分:0)
如果您需要在RenderTransorm中使用TransformGroup,那么StoryboardTargetProperty将如下所示
RenderTransform.Children[0].Angle
如果你只留下RotateTransform,那么它将是
RenderTransform.Angle
在这两种情况下,如您所见,我们开始从 RenderTransform 搜索属性。