在UWP中旋转文本块后如何获得正确的宽度和高度

时间:2018-11-19 11:39:12

标签: uwp rotation textblock rendertransform layouttransform

旋转后,我需要获取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中旋转后如何获得正确的Textblock高度和宽度?

关于, 肖比卡。

1 个答案:

答案 0 :(得分:0)

您可以使用ActualHeightActualWidth属性获得TextBlock的高度和宽度值。您还可以在更改大小时订阅SizeChanged事件,可以从SizeChangedEventArgs获取新的大小。但是旋转90°后,实际的高度和宽度不会交换,因此不会调用SizeChanged