Bagikan melalui


FrameworkElement.HorizontalAlignment Properti

Definisi

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.

Berlaku untuk

Lihat juga