我想制作一组文本旋转90度的按钮。我创建了所需的布局,但当我将其附加到按钮时,发现该布局根据按钮的(未旋转的)布局进行了剪切。我还不知道发生了什么,但我创建了一个没有按钮的简化案例。以下是我的XAML:
<Border Height="100" Width="50" BorderThickness="1" BorderBrush="Black">
<TextBlock>This is a test</TextBlock>
</Border>
这将生成带有剪切文本的边框(如预期)
但如果我旋转文本,则会产生以下XAML:
<Border Height="100" Width="50" BorderThickness="1" BorderBrush="Black">
<TextBlock RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="90"/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>This is a test</TextBlock>
</Border>
文本仍根据封闭边框的“宽度"而不是高度进行剪裁。
我确信我可以调整边框的大小以包含文本并旋转边框,而且我可能会对我试图创建的按钮做同样的事情,但如果我这样做了,我不知道我是否会遇到与按钮边界相同的问题,所以我觉得我需要了解我遗漏了什么。为什么旋转的对象会被剪切,就像它没有旋转一样?
1条答案
按热度按时间46qrfjad1#
设定LayoutTransform属性,而不是RenderTransform:
如果需要,还可以在TextBlock上设置
HorizontalAlignment="Center"
和VerticalAlignment="Center"
。