Saat Anda menentukan kolom dalam kisi WPF, Anda dapat mengatur lebar ke salah satu dari tiga nilai yang mungkin:
- Lebar tetap,
Auto
- kolom akan menjadi selebar yang diperlukan agar sesuai dengan anak-anaknya, atau
*
(bintang) menggunakan sisa ruang yang tersedia
The *
diawali dengan angka (default adalah 1 jika tidak ada nomor yang ditentukan). Ruang yang tersedia dibagi di antara kolom yang berbintang sesuai dengan nomor awalan.
Jika Anda memiliki definisi ini
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.93*"/>
</Grid.ColumnDefinitions>
Kolom pertama akan mendapatkan 7% dari total ruang yang tersedia dan kolom kedua akan mendapatkan 93%. Di sisi lain, jika Anda memiliki definisi ini:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.14*"/>
</Grid.ColumnDefinitions>
Kolom pertama akan mendapatkan 1/3 dan kolom kedua 2/3 dari ruang yang tersedia.
Dalam kasus khusus Anda di mana lebar bingkai adalah 354 dan proporsi kedua kolom adalah 40 dan 314, Anda mendapatkan lebar kolom berikut:
Lebar kolom pertama = 40 / (40 + 314) * 354 = 40
Lebar coulmn kedua = 314 / (40 + 314) * 354 = 314
Lebar bintang paling baik digunakan saat lebar bingkai tidak tetap. Ketika grid diubah ukurannya, kolom akan diskalakan secara proporsional seperti yang ditentukan oleh lebar bintang. Dalam kasus Anda, lebar kisi ditetapkan dan Anda dapat dengan mudah menggunakan kolom lebar tetap.
Jika Anda menginginkan tata letak di mana kolom kedua digandakan lebar kolom pertama dan kolom ketiga tiga kali lipat lebar kolom pertama, Anda memerlukan definisi ini:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
Jika total lebar grid 300 Anda mendapatkan lebar kolom 50, 100 dan 150. Jika total lebar grid 600 Anda mendapatkan lebar kolom 100, 200 dan 300. Begitu seterusnya.