2012-02-15 14 views
10

मैं गतिशील रूप से एक ग्रिड और कुछ स्तंभ बनाने के लिए इस तरह कोड पाया है:सापेक्ष चौड़ाई मानों के साथ गतिशील कॉलमडिफिनिशन कैसे बनाएं?

Grid grd = new Grid(); 
ColumnDefinition c = new ColumnDefinition(); 
c.Width = new GridLength(50, GridUnitType.Pixel); 
. . . 
grd.ColumnDefinitions.Add(c); 

लेकिन मैं रिश्तेदार चौड़ाई के साथ कॉलम, कि "*" XAML में प्रयोग किया जाता रहा है के अनुरूप बनाना चाहते हैं:

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="4*" /> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="3*" /> 
    <ColumnDefinition Width="*" /> 
    <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 

मैं इन सापेक्ष चौड़ाई मान/अनुपात गतिशील रूप से कैसे उपयोग कर सकता हूं?

+1

आप देख GridUnitType.Star किया था? –

+1

इसे उत्तर के रूप में पोस्ट करने के लिए स्वतंत्र महसूस करें। एफएक्यू से: http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/ –

उत्तर

16

ठीक है, मैं यह पता लगा, सही प्रश्न पोस्ट करने के बाद:

. . . 
ColumnDefinition c1 = new ColumnDefinition(); 
c1.Width = new GridLength(1, GridUnitType.Star); 
ColumnDefinition c2 = new ColumnDefinition(); 
c2.Width = new GridLength(4, GridUnitType.Star); 
ColumnDefinition c3 = new ColumnDefinition(); 
c3.Width = new GridLength(1, GridUnitType.Star); 
ColumnDefinition c4 = new ColumnDefinition(); 
c4.Width = new GridLength(3, GridUnitType.Star); 
ColumnDefinition c5 = new ColumnDefinition(); 
c5.Width = new GridLength(1, GridUnitType.Star); 
. . . 
grd.ColumnDefinitions.Add(c1); 
. . . 
संबंधित मुद्दे