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 です。

次の例は、を要素に適用する方法を示して LayoutTransform います。 この例では、のインスタンスを作成 Button し、親内でホストし Grid ます。 また、プロパティを使用して、を LayoutTransform に適用し 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 レイアウトシステムによる完全なパスを必要としないシナリオで起動すると、アプリケーションのパフォーマンスが低下する可能性があります。 のコレクションにを適用すると LayoutTransform Children Panel 、レイアウトシステムによって新しいパスがトリガーされ、すべてのスクリーンオブジェクトが強制的に再測定および再配置されます。 アプリケーションの完全なユーザーインターフェイス (UI) を更新する場合は、この機能が必要な場合があります。 ただし、完全なレイアウトパスが不要な場合は、 RenderTransform プロパティを使用します。これはレイアウトシステムを呼び出しません。したがって、は通常、このシナリオに適しています。

ここで LayoutTransform 役に立つシナリオの例としては、メニューコンポーネントなどの要素を水平から垂直へ、またはその逆に回転させたり、フォーカスを合わせて要素を拡大縮小したり、編集動作を提供したりすることが考えられます。

依存プロパティ情報

識別子フィールド LayoutTransformProperty
メタデータプロパティがに設定される true AffectsMeasure

適用対象

こちらもご覧ください