2009-07-17 3 views
1

WPFウィンドウにグリッドがあり、その最初の列にラベルが含まれています。私はラベルにSkewTransformを適用しました。私は、列幅を縮小した場合、ラベルが半分私のラベルの半分だけが表示されるのはなぜですか? [WPF]

Screenshot

私はそれが Prashantを表示するように期待してい

alt text http://freephotoupload.net/images/673_Lable.jpg

に表示されている、私の主な目的は、ラベルの隣に余分な空白を削減することである

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> 

何か提案して下さい....

+0

あなたがのために "カスタム" 名前空間とは何ですか?あなたは通常のTransgormを使用していないように見えます。 GreenReignがLayOutTransformを使ってあなたの問題を解決していると言っています –

+0

ええ、私は 'Custom:'名前空間のものを削除しました。 – exclsr

+0

私はそれをBlendで設計したので、自動的に追加されました.. –

答えて

2

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

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

あなたの場合、Labelは最初に列の幅だけ短くカットされています。 RenderTransformが適用されます(何もしない回転だけが回転します)。その結果、奇妙な外観のLabelが生成されます。

LayoutTransformは、コントロールが配置される前に行われます。このよう

<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> 
関連する問題