1

我有一个 3 行的 XAML RT 网格。我在第 1 行第 0 列中有一个文本块,我将文本旋转了 90 度。行的高度已设置为自动,但行的高度不会自动调整为旋转文本块的高度。有人可以帮忙吗?

网格的代码如下:

<Grid x:Name="gridDetails" Height="200"
      Margin="2"          
      Background="Yellow">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition  />
    </Grid.RowDefinitions>

    <TextBlock Grid.Row="0"
               Grid.Column="1">
        <Run Text="Header" />
    </TextBlock>
    <TextBlock Grid.Row="1"
               Margin="0"                   
               RenderTransformOrigin="0.5,0.5"  >
        <TextBlock.RenderTransform>
            <CompositeTransform Rotation="-90" />
        </TextBlock.RenderTransform>
            <Run Text="Sample Text" />
    </TextBlock>        
</Grid>

这是一个使用 XAML RT 和 c# 的窗口 8 商店应用程序。

谢谢

4

2 回答 2

2

您看到的行为是 RenderTransform 所预期的,它只影响渲染而不影响布局。

此链接可能会有所帮助:http: //igrali.com/2012/09/17/layout-transform-in-windows-8-winrt-xaml/

于 2013-08-20T22:40:07.780 回答
0

您必须使用 LayoutTransform 而不是 RenderTransform。

有关详细信息,请参阅 MSDN:http: //msdn.microsoft.com/en-us/library/ms750596.aspx#exampleRotateAnElement45degSection

于 2013-08-19T14:35:57.500 回答