我需要在旋转后自动调整TextBlock的大小。以下是我在RenderTransform的帮助下将TextBlock旋转90度的代码,但它在旋转后占用的空间比所需的空间多。
<Border BorderBrush="Red" BorderThickness="3">
<TextBlock Text="Testing" RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<RotateTransform Angle="90"/>
</TextBlock.RenderTransform>
</TextBlock>
</Border>
在WPF中,在LayoutTransform的帮助下,我可以正确地获得文本块的自动大小(高度和宽度(。但在UWP中,LayoutTranform不可用。
如何在UWP中旋转后获得正确的文本块高度和宽度?
谨致问候,肖比卡。
您可以使用ActualHeight
和ActualWidth
属性获得TextBlock
的高度和宽度值。当大小发生变化时,您也可以订阅SizeChanged
事件,您可以从SizeChangedEventArgs
获得新的大小。但旋转90°后,实际高度和宽度不会交换,因此不会调用SizeChanged
。