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, nilai Center
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 Stretch
situasi tata letak.
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 Top
untuk VerticalAlignment, biasanya Left
untuk HorizontalAlignment
(Right
untuk info budaya kanan ke kiri atau nilai FlowDirection eksplisit). Untuk informasi selengkapnya, lihat Perataan, margin, dan padding.
Kanvas tidak digunakan HorizontalAlignment
saat menyusun tata letak, karena Canvas 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 dapat berbeda. Misalnya, kontrol Tombol dimulai dengan nilai Left
. Jika elemen UI adalah kontrol, HorizontalAlignment
nilainya mungkin juga memengaruhi templat visual kontrol.
Dalam kontrol konten, templat kontrol sering menggunakan ekspresi ekstensi markup {TemplateBinding} untuk mengikat properti HorizontalContentAlignment ke HorizontalAlignment
properti pada beberapa elemen dalam templatnya, seperti penyaji atau elemen yang digunakan sebagai area konten.