[英]Vertically rotated Textblock takes up entire width as if it were horizontal
我已经将TextBlock
控件包装在边框中,以便可以看到正在占用的空间:
这是XAML:
<Border BorderBrush="Cyan" BorderThickness="3">
<TextBlock Style="{StaticResource subtitle}" Text="{Binding Title}" >
<TextBlock.RenderTransform>
<RotateTransform Angle="90" />
</TextBlock.RenderTransform>
</TextBlock>
</Border>
问题在于,这占用了比我需要的空间更多的空间,如果我为其设置了静态宽度,则会得到以下信息:
有什么建议么?
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="90" />
</Setter.Value>
</Setter>
之所以如此,是因为像在大多数Web Base应用程序中一样,有一系列事件会触发/触发我们用来查看或处理的大部分事件,而这些事件发生在Rendering Event中。我不确定100%,但是我真的认为LayoutTransform在预渲染期间发生
在运行时创建文本块并旋转它们时,我遇到了同样的问题。 我只是通过设置解决了
tb.Margin = .......
tb.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Left;
tb.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Top;
RotateTransform rt = new RotateTransform();
rt.Angle = -40;
tb.RenderTransform = rt;
似乎您没有设置它们,变换是在居中文本上进行计算,并添加宽度以将其放置在所需位置...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.