我需要按照下图所示的方向书写文字。事实是我在这里看到一些例子,使用文本块并使用“RenderTransform”旋转控件的角度,但这不是我真正需要的。我尝试使用图像来做它但它不太合适...所以我真的不知道如何解决它。如果您查看旁边的图像,您可以看到文本是从下到上书写的,文本下方的行位于屏幕右侧。 这是我需要开发的屏幕:
我试过旋转文本块,但它对我有用的唯一方法是包装文本,但这只是我找到的“最接近”的解决方案。另外,如您所见,我需要为文本块设置边框。
无论如何,我希望你能帮助我,因为周围的任何例子都符合我的问题。
答案 0 :(得分:2)
他们没事。应该只需要RenderTransform
。等;
<TextBlock Text="FootRoller" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.RenderTransform>
<CompositeTransform Rotation="-90"/>
</TextBlock.RenderTransform>
</TextBlock>
P.S。 - 您可以将RenderTransform
改为LayoutTransform
,Sheridan在答案中提供了解释。
答案 1 :(得分:2)
为了将文字旋转90度,我相信您需要使用LayoutTransform
代替RenderTransform
:
<TextBlock Text="FootRoller" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.LayoutTransform>
<RotateTransform Angle="-90"/>
</TextBlock.LayoutTransform>
</TextBlock>
当应用变换时 。使用LayoutTransform
,文本将在布局传递之前旋转,这在您的情况下非常重要。我想使用RenderTransform
会轮换你的TextBlock
,但是在布局传递之后就会这样做,它不会全部显示...这是因为它是在旋转之前测量尺寸。
您可以在MSDN上的Transforms Overview页面上找到完整的详细信息。从链接页面:
LayoutTransform - 在布局传递之前应用的变换。应用变换后,布局系统将处理元素的变换大小和位置。
RenderTransform - 一种修改元素外观的变换,但在布局传递完成后应用。通过使用RenderTransform属性而不是LayoutTransform属性,您可以获得性能优势。
答案 2 :(得分:0)
如果RenderTransform不起作用,请查看LayoutTransform。你没有告诉我们为什么RenderTransform不起作用,但通常可以肯定的是,LayoutTransform将解决它给你的任何问题。