FrameworkElement.HorizontalAlignment 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 karakteristik perataan horizontal yang diterapkan ke FrameworkElement saat disusun dalam induk tata letak, seperti kontrol panel atau item.
public:
property HorizontalAlignment HorizontalAlignment { HorizontalAlignment get(); void set(HorizontalAlignment value); };
HorizontalAlignment HorizontalAlignment();
void HorizontalAlignment(HorizontalAlignment value);
public HorizontalAlignment HorizontalAlignment { get; set; }
var horizontalAlignment = frameworkElement.horizontalAlignment;
frameworkElement.horizontalAlignment = horizontalAlignment;
Public Property HorizontalAlignment As HorizontalAlignment
<frameworkElement HorizontalAlignment="horizontalAlignmentMemberName"/>
Nilai Properti
Pengaturan perataan horizontal, sebagai nilai enumerasi. Defaultnya adalah Stretch.
Contoh
Dalam contoh ini, Pusat nilai ditetapkan ke HorizontalAlignment dan VerticalAlignment, untuk memosisikan elemen TextBlock di tengah sel Kisi .
<Grid x:Name="LayoutRoot" Background="Coral" Width="300" Height="100">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="First Name"
HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBlock Grid.Column="0" Grid.Row="1" Text="Last Name"
HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox Grid.Column="1" Grid.Row="0" />
<TextBox Grid.Column="1" Grid.Row="1" />
</Grid>
Keterangan
Properti perataan dimaksudkan untuk mengisyaratkan tata letak yang diinginkan ke kontainer tata letak adaptif. Mereka biasanya diatur pada anak-anak FrameworkElement dan ditafsirkan oleh induk kontainer FrameworkElement lain (biasanya kelas turunan ContentControl atau kelas turunan Panel , atau mungkin penyaji). Mengatur properti perataan pada elemen anak tidak menjamin bahwa apa pun terjadi; perilaku tergantung pada komposisi tata letak dan elemen induk yang terlibat.
Ketika properti Tinggi dan Lebar secara eksplisit diatur atau dihitung pada objek, pengukuran tersebut lebih penting untuk logika tata letak umum, dan dapat membatalkan efek pengaturan HorizontalAlignment ke Stretch. Properti batasan tata letak (seperti MaxWidth) juga memengaruhi ukuran tata letak maksimum atau minimum untuk situasi tata letak Stretch . Stretch adalah default sehingga lebih mudah untuk menggunakan teknik tata letak adaptif dalam kasus di mana tidak ada pengukuran eksplisit. Tetapi jika ada Tinggi dan Lebar atau kliping, tata letak bertindak seolah-olah nilainya adalah Atas untuk VerticalAlignment, biasanya Kiri untuk HorizontalAlignment (Kanan untuk info budaya kanan-ke-kiri atau nilai FlowDirection eksplisit). Untuk informasi selengkapnya, lihat Perataan, margin, dan padding.
Kanvas tidak menggunakan HorizontalAlignment saat menyusun tata letak, karena Kanvas didasarkan pada posisi absolut. Secara umum, nilai HorizontalAlignment berpotensi diperlakukan secara berbeda oleh objek apa pun yang mampu memiliki satu atau beberapa objek FrameworkElement sebagai konten anak. Setiap objek induk tersebut dapat memiliki logika tata letaknya sendiri.
Setiap elemen UI XAML mungkin menerapkan properti ini secara berbeda berdasarkan setter Gaya untuk gaya implisit. "Nilai default" yang jelas untuk HorizontalAlignment di setiap elemen UI bisa berbeda. Misalnya, kontrol Tombol dimulai dengan nilai Kiri. Jika elemen UI adalah kontrol, nilai HorizontalAlignment mungkin juga memengaruhi templat visual kontrol.
Dalam kontrol konten, templat kontrol sering menggunakan ekspresi ekstensi markup {TemplateBinding} untuk mengikat properti HorizontalContentAlignment ke properti HorizontalAlignment pada beberapa elemen dalam templatnya, seperti penyaji atau elemen yang digunakan sebagai area konten.