我想在边框元素内垂直写入文本。如图所示。
我已经尝试在这段代码中使用RenderTransform
<Border Width="80"
Background="Teal">
<TextBlock Text="CATEGORIES"
Foreground="White"
FontFamily="Segoe UI Black"
FontSize="30">
<TextBlock.RenderTransform>
<RotateTransform Angle="-90" />
</TextBlock.RenderTransform>
</TextBlock>
</Border>
这将垂直旋转文本,但TextBlock采用Transform之前的高度和宽度的旧值,并且不完全显示文本。因此,文本在80像素(边框元素的宽度)后被截断。在搜索时,我发现使用LayoutTransform可以解决这个问题,但它在UWP应用程序中不可用。如何在UWP XAML中做到这一点?
2条答案
按热度按时间relj7zay1#
This在UWP上也适用。只需使用发布的类here,而不是帖子中的类。并且也从博客文章中复制样式。
编辑:onedrive链接不再工作。所以我在这里发布代码。
创建一个新类LayoutTransformer
xaml文件中
添加命名空间common
在ApplicationResources中创建新样式
现在将文本块逆时针旋转90度
添加命名空间common
然后用这个密码
jq6vz3qz2#
如果旋转Border(父对象),TextBlock也会旋转,因为它是Border的子对象。