1

WPF ウィンドウにグリッドがあり、最初の列にラベルが含まれています。ラベルに SkewTransform を適用しました。列幅を減らすと、ラベルが半分に表示されます

スクリーンショット

代替テキスト http://freephotoupload.net/images/673_Lable.jpg

表示されることを期待していますPrashant、私の主な目的は、ラベルの横にある余分な空白を減らすことです

XAML コード

    <Grid ShowGridLines="True">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="146.334" />
                <ColumnDefinition Width="94.666" />
            </Grid.ColumnDefinitions>
            <Label Margin="0" VerticalAlignment="Center" Width="Auto" Name="label1" RenderTransformOrigin="0.5,0.5" Content="Prashant">
                <Label.RenderTransform>
                    <TransformGroup>
                        <ScaleTransform ScaleX="1" ScaleY="1"/>
                        <SkewTransform AngleX="0" AngleY="0"/>
                        <RotateTransform Angle="-90"/>
                        <TranslateTransform X="0" Y="0"/>
                    </TransformGroup>
                </Label.RenderTransform>
    </Label>
</Grid>

任意の提案をしてください....

4

1 に答える 1

2

LayoutTransform代わりに実行しRenderTransformます。

WPFでは、RenderTransformsコントロールがレイアウトされた後にコントロールに対して実行されます。

あなたの場合、Label最初に列の幅だけ短くカットされています。次に、RenderTransformが適用され(rotateが何かを実行する唯一のものです)、奇妙な外観になりLabelます。

LayoutTransformコントロールが配置される前にAが実行されます。

このような:

<Grid ShowGridLines="True">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="146.334" />
        <ColumnDefinition Width="94.666" />
    </Grid.ColumnDefinitions>
    <Label 
        Name="label1" 
        Content="Prashant"
        Margin="0"  
        Width="Auto" 
        VerticalAlignment="Center"
        RenderTransformOrigin="0.5,0.5">
        <Label.LayoutTransform>
            <TransformGroup>
                <ScaleTransform ScaleX="1" ScaleY="1"/>
                <SkewTransform AngleX="0" AngleY="0"/>
                <RotateTransform Angle="-90"/>
                <TranslateTransform X="0" Y="0"/>
            </TransformGroup>
        </Label.LayoutTransform>
    </Label>
</Grid>
于 2009-07-17T07:10:39.187 に答える