更新:2007 年 11 月
示例
此示例演示如何将 LayoutTransform 应用于元素。该示例创建 Button 的一个实例,并使其寄宿在父 Grid 内。它还使用 LayoutTransform 属性将 RotateTransform 应用于 Button。
**性能说明:**在使用 LayoutTransform 之前,一定要了解此属性将对性能产生怎样的影响。
如果在不需要布局系统执行全面处理过程的方案中调用,LayoutTransform 可能会导致应用程序性能变差。将 LayoutTransform 应用于 Panel 的 Children 集合后,它将触发一次新的布局系统处理过程,并强制重新度量和重新排列屏幕上的所有对象。如果要更新完整的应用程序 用户界面 (UI),此功能可能完全符合您的需要。但是,如果不需要执行全面布局处理过程,请使用 RenderTransform 属性,该属性不会调用布局系统,因此对于此方案而言通常是更好的选择。
Dim btn2 As New Button()
btn2.Background = Brushes.LightCoral
btn2.Content = "RotateTransform"
btn2.LayoutTransform = New RotateTransform(45, 25, 25)
Grid.SetRow(btn2, 0)
Grid.SetColumn(btn2, 1)
grid1.Children.Add(btn2)
Button btn2 = new Button();
btn2.Background = Brushes.LightCoral;
btn2.Content = "RotateTransform";
btn2.LayoutTransform = new RotateTransform(45, 25, 25);
Grid.SetRow(btn2, 0);
Grid.SetColumn(btn2, 1);
grid1.Children.Add(btn2);
<Button Grid.Row="0" Grid.Column="1" Background="LightCoral" Content="RotateTransform Applied">
<Button.LayoutTransform>
<RotateTransform CenterX="25" CenterY="25" Angle="45" />
</Button.LayoutTransform>
</Button>
有关演示每个可用布局转换的完整示例,请参见对元素应用布局转换的示例。