FrameworkElement.LayoutTransform Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |