เมื่อคุณกำหนดคอลัมน์ในตาราง WPF คุณสามารถตั้งค่าความกว้างเป็นหนึ่งในสามค่าที่เป็นไปได้:
- ความกว้างคงที่
Auto
- คอลัมน์จะกว้างเท่าที่จำเป็นเพื่อให้พอดีกับเด็ก ๆ หรือ
*
(star) ใช้พื้นที่ว่างที่เหลืออยู่
*
จะนำหน้าด้วยหมายเลข (เริ่มต้นคือ 1 ถ้าจำนวนไม่ได้ระบุ) พื้นที่ว่างจะถูกแบ่งออกเป็นคอลัมน์ที่ติดดาวตามสัดส่วนของหมายเลขนำหน้า
หากคุณมีความหมายนี้
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.93*"/>
</Grid.ColumnDefinitions>
คอลัมน์แรกจะได้รับ 7% ของพื้นที่ทั้งหมดที่มีอยู่และคอลัมน์ที่สองจะได้รับ 93% ในทางกลับกันถ้าคุณมีคำจำกัดความนี้:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.14*"/>
</Grid.ColumnDefinitions>
คอลัมน์แรกจะได้ 1/3 และ 2/3 ที่สองของพื้นที่ว่าง
ในกรณีเฉพาะของคุณที่ความกว้างของเส้นตารางเท่ากับ 354 และสัดส่วนของสองคอลัมน์คือ 40 และ 314 คุณจะได้ความกว้างของคอลัมน์ต่อไปนี้:
ความกว้างของคอลัมน์แรก = 40 / (40 + 314) * 354 = 40
ความกว้าง coulmn ที่สอง = 314 / (40 + 314) * 354 = 314
ความกว้างของดาวจะใช้ได้ดีที่สุดเมื่อความกว้างของเส้นตารางไม่คงที่ เมื่อปรับขนาดเส้นตารางแล้วคอลัมน์จะปรับขนาดตามสัดส่วนตามที่ระบุโดยความกว้างของดาว ในกรณีของคุณความกว้างของเส้นตารางได้รับการแก้ไขและคุณสามารถใช้คอลัมน์ความกว้างคงที่ได้อย่างง่ายดาย
หากคุณต้องการเค้าโครงที่คอลัมน์ที่สองมีความกว้างเป็นสองเท่าของคอลัมน์แรกและคอลัมน์ที่สามมีความกว้างเป็นสามเท่าของคอลัมน์แรกคุณต้องมีคำจำกัดความนี้:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
หากความกว้างรวมของเส้นตารางเท่ากับ 300 คุณจะได้ความกว้างของคอลัมน์ 50, 100 และ 150 หากความกว้างรวมของเส้นตารางเท่ากับ 600 คุณจะได้ความกว้างของคอลัมน์ 100, 200 และ 300 และอื่น ๆ