FrameworkElement.LayoutTransform 属性

定义

获取或设置在执行布局时应该应用于此元素的图形转换方式。

public:
 property System::Windows::Media::Transform ^ LayoutTransform { System::Windows::Media::Transform ^ get(); void set(System::Windows::Media::Transform ^ value); };
public System.Windows.Media.Transform LayoutTransform { get; set; }
member this.LayoutTransform : System.Windows.Media.Transform with get, set
Public Property LayoutTransform As Transform

属性值

Transform

此元素应该使用的转换。 默认值为 Identity

示例

下面的示例演示如何将 a LayoutTransform 应用于元素。 该示例创建一个实例 Button ,并将其托管在父 Grid级中。 它还使用LayoutTransform属性将 a RotateTransform 应用于 .Button


Button^ btn2 = gcnew Button();
btn2->Background = Brushes::LightCoral;
btn2->Content = "RotateTransform";
btn2->LayoutTransform = gcnew 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);

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 Grid.Row="0" Grid.Column="1" Background="LightCoral" Content="RotateTransform Applied">
  <Button.LayoutTransform>
    <RotateTransform CenterX="25" CenterY="25" Angle="45" />
  </Button.LayoutTransform>
</Button>

注解

与此相反 RenderTransformLayoutTransform 会影响布局的结果。

设置转换可提供缩放和旋转的强大功能。 但是, LayoutTransform 忽略 TranslateTransform 操作。 这是因为自动更正子元素 FrameworkElement 的布局系统行为会将缩放或旋转元素的位置的任何偏移量调整到父元素的布局和坐标系中。

LayoutTransform 如果在不需要布局系统完全传递的方案中调用应用程序性能不佳。 将 a LayoutTransform 应用于集合PanelChildren,它会触发布局系统的新传递,并强制重新测量和重新排列所有屏幕上的对象。 如果要更新完整的应用程序用户界面 (UI) ,则此功能可能完全是所需的。 但是,如果你不需要完整的布局传递,请使用 RenderTransform 不调用布局系统的属性,因此,对于此方案来说,通常是更好的选择。

有用的示例方案 LayoutTransform 包括:将菜单组件等元素从水平旋转到垂直,反之亦然,缩放元素 (放大) 焦点、提供编辑行为等。

依赖项属性信息

标识符字段 LayoutTransformProperty
元数据属性设置为 true AffectsMeasure

适用于