FrameworkElement.LayoutTransform 속성

정의

레이아웃을 수행할 때 이 요소에 적용해야 하는 그래픽 변환을 가져오거나 설정합니다.Gets or sets a graphics transformation that should apply to this element when layout is performed.

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

속성 값

이 요소가 사용해야 하는 변환입니다.The transform this element should use. 기본값은 Identity입니다.The default is Identity.

예제

다음 예제에서는 요소에 LayoutTransform를 적용 하는 방법을 보여 줍니다.The following example shows how to apply a LayoutTransform to an element. 이 예에서는 Button의 인스턴스를 만들고 부모 Grid내에서 호스트 합니다.The example creates an instance of Button and hosts it within a parent Grid. 또한 LayoutTransform 속성을 사용 하 여 ButtonRotateTransform를 적용 합니다.It also uses the LayoutTransform property to apply a RotateTransform to the 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>

설명

RenderTransform와 달리 LayoutTransform는 레이아웃 결과에 영향을 줍니다.In contrast to RenderTransform, LayoutTransform will affect results of layout.

변환을 설정 하면 크기 조정 및 회전이 강력한 기능을 제공 합니다.Setting a transform provides powerful capabilities of scaling and rotating. 그러나 LayoutTransformTranslateTransform 작업을 무시 합니다.However, LayoutTransform ignores TranslateTransform operations. 이는 FrameworkElement의 자식 요소에 대 한 레이아웃 시스템 동작으로 인해 배율이 조정 되거나 회전 된 요소의 위치에 대 한 모든 오프셋이 부모 요소의 레이아웃 및 좌표계로 자동 수정 되기 때문입니다.This is because the layout system behavior for child elements of a FrameworkElement auto-corrects any offsets to the position of a scaled or rotated element into the layout and coordinate system of the parent element.

LayoutTransform 레이아웃 시스템 전체 패스를 필요 하지 않은 시나리오에서 호출 하면 애플리케이션 성능 저하 시킬 수 있습니다.LayoutTransform can lead to poor application performance if you invoke it in a scenario that does not require a full pass by the layout system. LayoutTransformPanelChildren 컬렉션에 적용 하면 레이아웃 시스템에서 새 패스를 트리거하고 모든 화면 개체를 다시 측정 하 고 다시 정렬 합니다.When you apply a LayoutTransform to the Children collection of the Panel, it triggers a new pass by the layout system and forces all on-screen objects to be remeasured and rearranged. 전체 애플리케이션을 업데이트 하는 경우 UI(사용자 인터페이스)user interface (UI),이 기능은 수 있습니다 정확 하 게 해야 합니다.If you are updating the complete application UI(사용자 인터페이스)user interface (UI), this functionality might be exactly what you need. 그러나 전체 레이아웃 단계가 필요 하지 않은 경우에는 레이아웃 시스템을 호출 하지 않는 RenderTransform 속성을 사용 합니다. 따라서이 시나리오에서는 일반적으로를 사용 하는 것이 좋습니다.However, if you do not need a full layout pass, use the RenderTransform property, which does not invoke the layout system, and therefore, is typically a better choice for this scenario.

LayoutTransform 유용 하 게 사용할 수 있는 예제 시나리오는 메뉴 구성 요소와 같은 요소를 가로에서 세로로 또는 그 반대로, 요소 크기 조정 (확대), 포커스의 크기 조정, 편집 동작 제공 등을 포함 합니다.Example scenarios where LayoutTransform would be useful include: rotating elements such as menu components from horizontal to vertical or vice versa, scaling elements (zooming in) on focus, providing editing behavior, etc.

종속성 속성 정보Dependency Property Information

식별자 필드Identifier field LayoutTransformProperty
메타 데이터 속성 설정 trueMetadata properties set to true AffectsMeasure

적용 대상

추가 정보