Bagikan melalui


FrameworkElement.LayoutTransform Properti

Definisi

Mendapatkan atau mengatur transformasi grafis yang harus berlaku untuk elemen ini saat tata letak dilakukan.

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

Nilai Properti

Transformasi elemen ini harus digunakan. Defaultnya adalah Identity.

Contoh

Contoh berikut menunjukkan cara menerapkan LayoutTransform ke elemen. Contoh membuat instans Button dan menghostingnya dalam induk Grid. Ini juga menggunakan LayoutTransform properti untuk menerapkan RotateTransform ke 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>

Keterangan

Berbeda RenderTransformdengan , LayoutTransform akan memengaruhi hasil tata letak.

Mengatur transformasi memberikan kemampuan penskalaan dan rotasi yang kuat. Namun, LayoutTransform mengabaikan TranslateTransform operasi. Ini karena perilaku sistem tata letak untuk elemen anak dari FrameworkElement otomatis mengoreksi offset apa pun ke posisi elemen yang diskalakan atau diputar ke dalam tata letak dan sistem koordinat elemen induk.

LayoutTransform dapat menyebabkan performa aplikasi yang buruk jika Anda memanggilnya dalam skenario yang tidak memerlukan pass penuh oleh sistem tata letak. Ketika Anda menerapkan LayoutTransform ke Children koleksi Panel, itu memicu pass baru oleh sistem tata letak dan memaksa semua objek di layar untuk diukur kembali dan disusun ulang. Jika Anda memperbarui antarmuka pengguna aplikasi (UI) lengkap, fungsionalitas ini mungkin persis seperti yang Anda butuhkan. Namun, jika Anda tidak memerlukan kode tata letak penuh, gunakan RenderTransform properti , yang tidak memanggil sistem tata letak, dan oleh karena itu, biasanya merupakan pilihan yang lebih baik untuk skenario ini.

Contoh skenario di mana LayoutTransform akan berguna meliputi: memutar elemen seperti komponen menu dari horizontal ke vertikal atau sebaliknya, elemen penskalakan (memperbesar) pada fokus, memberikan perilaku pengeditan, dll.

Informasi Properti Dependensi

Item Nilai
Bidang pengidentifikasi LayoutTransformProperty
Properti metadata diatur ke true AffectsMeasure

Berlaku untuk