基本上,我有一个FooControl
(我不明确地设置了高度/宽度)添加到Grid
。
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<FooControl x:Name="HWFoo" Content="HelloWorld" Grid.Row="0">
<FooControl.RenderTransform>
<TransformGroup>
<RotateTransform Angle="270" />
<TranslateTransform Y="{Binding ActualWidth, ElementName=HWFoo}" />
</TransformGroup>
</FooControl.RenderTransform>
</FooControl>
</Grid>
但是,现在的问题是FooControl填满了整行,当它变换时它看起来很奇怪(因为它的高度/宽度)。
答案 0 :(得分:3)
1 - 使用LayoutTransform
2 - 将HorizontalAlignment
设置为左或右以防止拉伸
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<FooControl x:Name="HWFoo" Content="HelloWorld" Grid.Row="0" HorizontalAlignment="Left">
<FooControl.LayoutTransform>
<TransformGroup>
<RotateTransform Angle="270" />
<TranslateTransform Y="{Binding ActualWidth, ElementName=HWFoo}" />
</TransformGroup>
</FooControl.LayoutTransform>
</FooControl>
</Grid>
答案 1 :(得分:1)
使用 LayoutTransform 代替RenderTransform。
http://patconroy.wordpress.com/2009/03/24/layouttransform-vs-rendertransform-in-wpf/
简单:)
答案 2 :(得分:1)
我不确定'奇异'是什么意思,但我建议尝试使用LayoutTransform而不是RenderTransform - 这可能就是问题所在。
但请注意,LayoutTransform明显慢于RenderTransform。