Silverlight - 旋转的TextBlock宽度问题

时间:2011-05-30 13:57:25

标签: silverlight transform

我有以下网格:

    <Grid Background="LightGray" x:Name="ProgrammPoolTextGrid">
        <TextBlock x:Name="tbLeft" 
                   Margin="0" 
                   Text="PROGRAMMPOOL" 
                   TextWrapping="NoWrap" 
                   Width="100" 
                   Height="94" 
                   RenderTransformOrigin="0.5,0.5" 
                   HorizontalAlignment="Left" 
                   UseLayoutRounding="False" 
                   d:LayoutRounding="Auto" >
            <TextBlock.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform Angle="-90"/>
                    <TranslateTransform/>
                </TransformGroup>
            </TextBlock.RenderTransform>
        </TextBlock>
    </Grid>

我只需要一个40像素宽的TextBlock,但是如果我改变TextBlock或Grid的宽度,文本就会被剪切掉。有什么想法吗?

1 个答案:

答案 0 :(得分:7)

变换是在完成测量和布局操作之后完成的,因此它采用原始控件的度量,可以使用silverlight工具包中包含的LayoutTransformer Control来修复。

以下是一个示例:Using the Silverlight Toolkit LayoutTransformer Control for Angled Column Header Text(来自MSDN博客)