Tri*_*tan 1 xaml windows-8 windows-runtime windows-store-apps windows-8.1
(Windows 8.1,Windows应用商店应用)
我想将旋转的文本放在容器(例如Grid)中,让容器从旋转的文本中获取其尺寸.然而...
这段代码:
<Canvas Background="Gray">
<Grid
Canvas.Left="100"
Canvas.Top="100"
Background="LightGray">
<TextBlock Text="Text rotated 270º">
<TextBlock.RenderTransform>
<RotateTransform Angle="270" />
</TextBlock.RenderTransform>
</TextBlock>
</Grid>
<Canvas>
Run Code Online (Sandbox Code Playgroud)
......像这样呈现:

我希望网格在应用旋转后从TextBlock获取宽度和高度.但是,在应用旋转之前,网格似乎从TextBlock获取其尺寸.
如何获得容器(即网格)以适应其内容的旋转大小(即TextBlock)?
您正在寻找LayoutTransform.这是一篇很棒的博客文章,介绍如何在Windows 8中实现这一目标.
貌似这个来自cookplex的工具包已经有了一个!您可以使用LayoutTransformControl.该工具包可通过Nuget获得.
您将其添加为控件的内容,并将您的内容放在其中.
<Grid
Canvas.Left="100"
Canvas.Top="100"
Background="LightGray">
<controls:LayoutTransformControl x:Name="transformControl">
<controls:LayoutTransformControl.Transform>
<RotateTransform x:Name="rotateTransform" Angle="270"/>
</controls:LayoutTransformControl.Transform>
<TextBlock Text="Hello LayoutTransformControl" />
</controls:LayoutTransformControl>
</Border>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |