Сделайте LayoutTransform
вместо RenderTransform
.
В WPF RenderTransforms
выполняются на элементах управления после их размещения.
В вашем случае, Label
обрезается сначала по ширине столбца; затем применяется RenderTransform (вращение является единственным, который делает что-либо), в результате чего получается странный Label
.
A 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>