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

プロパティ値

この要素で使用する変換。 既定値は、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 レイアウト システムによるフル パスを必要としないシナリオで呼び出すと、アプリケーションのパフォーマンスが低下する可能性があります。 のコレクションPanelに をChildren適用LayoutTransformすると、レイアウト システムによって新しいパスがトリガーされ、画面上のすべてのオブジェクトが再測定および再配置されます。 完全なアプリケーション ユーザー インターフェイス (UI) を更新する場合は、この機能が必要な機能である可能性があります。 ただし、完全なレイアウト パスが必要ない場合は、 プロパティを RenderTransform 使用します。このプロパティはレイアウト システムを呼び出さないため、通常、このシナリオの方が適しています。

便利なシナリオ LayoutTransform の例としては、メニュー コンポーネントなどの要素を水平方向から垂直方向に回転させる、フォーカスに合った要素のスケーリング (拡大)、編集動作の提供などがあります。

依存プロパティ情報

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

適用対象