जब आप एक WPF ग्रिड में एक कॉलम को परिभाषित करते हैं तो आप तीन संभावित मानों में से एक को चौड़ाई सेट कर सकते हैं:
- एक निश्चित चौड़ाई,
Auto
- कॉलम अपने बच्चों को फिट करने के लिए जितना संभव हो उतना चौड़ा हो जाएगा, या
*
(स्टार) किसी भी उपलब्ध शेष स्थान को ग्रहण करें
*
(डिफ़ॉल्ट 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
दूसरी युग्मन चौड़ाई = 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 मिल सकती है। और इसी तरह।