<Grid Background="Red" HorizontalAlignment="Left" Height="120" Margin="32,225,0,0" VerticalAlignment="Top" Width="107">
<Border Background="Blue" BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="72" Margin="43,29,0,0" VerticalAlignment="Top" Width="83" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="44.785"/>
<TranslateTransform/>
</TransformGroup>
</Border.RenderTransform>
</Border>
</Grid>上面的代码中,Border相对于Grid的右边距为0,为什么Broder超出了Grid,为什么没有被裁剪呢?
=>
Border.LayoutTransform
原因是:LayoutTransform参与布局,而RenderTransform不参与,所以你用RenderTransform会扩展到面板边界的外面。