基本上,我在FooControl
中添加了Grid
(我没有明确设置Height / Width)。
<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填满了整个行,并且在对其进行转换时,它看起来非常奇怪(因为它的高度/宽度)。
FooControl是一个自定义控件。那我可以用ArrangeOverride或MeasureOverride做什么吗?还是我做错了一些可以在XAML中修复的问题。
最佳答案
1-使用LayoutTransform
2-将HorizontalAlignment
设置为Left或Right以防止拉伸(stretch)
<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>