我想创建一个包含自定义内容的控件。 内部文本应沿相反方向旋转,以便始终垂直显示。要做到这一点,我必须将文本的旋转角度绑定到文本祖先的旋转角度。怎么做?对不起我的英语不好。
答案 0 :(得分:0)
这样的事情应该有效。重要的是在子元素旋转之前和之后通过两个镜像变换反转旋转方向。
<Grid Background="AliceBlue" Width="200" Height="200"
RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<RotateTransform Angle="45"/>
</Grid.RenderTransform>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"
Text="Hello" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="-1"/>
<RotateTransform Angle="{Binding RenderTransform.Angle,
RelativeSource={RelativeSource AncestorType=Panel}}"/>
<ScaleTransform ScaleX="-1"/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Grid>