2012-02-28 13 views
5

मान लीजिए कि मेरे पास 4 कॉलम के साथ ग्रिड है और दूसरे कॉलम में टेक्स्टबॉक्स डालना चाहते हैं और इसे अंतिम कॉलम तक ले जाना चाहते हैं। मैं टेक्स्टबॉक्स चौड़ाई को 3 आखिरी कॉलम के रूप में चौड़ा कैसे कर सकता हूं?ग्रिड में कॉलम के सेट के साथ टेक्स्टबॉक्स चौड़ाई कैसे फिट करें?

मैंने सीमाओं के साथ कुछ करने की कोशिश की है, लेकिन यह काम नहीं किया।

<Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
     </Grid.ColumnDefinitions> 

     <TextBox Grid.Column="1" Grid.ColumnSpan="3" /> 
</Grid> 
+0

मेरा अद्यतन उत्तर देखें। – Maheep

उत्तर

7

टेक्स्टबॉक्स को कुछ चौड़ाई दें या ऑटो के बजाए कॉलमडिफिनिशन चौड़ाई को * के रूप में दें। यह अंतिम कॉलम तक फैल रहा है लेकिन बस आप इसे देखने में सक्षम नहीं हैं क्योंकि चौड़ाई ऑटो है।

+0

यह काम नहीं किया ... यह कॉलम चौड़ाई पर निर्भर नहीं है। मैं कॉलम चौड़ाई को किसी भी मान के रूप में सेट कर सकता हूं, मैं बस अपने टेक्स्टबॉक्स को तीन अंतिम स्तंभों की एक ही चौड़ाई के साथ एक साथ रखना चाहता हूं। –

+0

@GuilhermeCampos आपको सभी कॉलम परिभाषाएं 'चौड़ाई = "*" ', केवल' टेक्स्टबॉक्स 'कॉलम में कॉल करने की आवश्यकता नहीं है। – Rachel

+0

ठीक है, यह @ दीपेश और @ राहेल के रूप में काम करता है। लेकिन - एक कारण से मुझे नहीं पता - यह मेरे असली कोड (अन्य चीजों के साथ) में काम नहीं करता है, 'ग्रिड। कॉलमस्पैन' काम नहीं करता था जैसा कि यह करने के लिए किया गया था। मेरे पास पहले से ही अन्य 'टेक्स्टबॉक्स' अन्य पंक्तियों में 'ग्रिड' पर हैं क्या आप जानते हैं कि ऐसा क्यों हो सकता है? –

3

अभी अंतिम 3 कॉलम टेक्स्ट बॉक्स को फ़िट कर रहे हैं क्योंकि चौड़ाई ऑटो है।

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

    <TextBox Grid.Column="1" Grid.ColumnSpan="3" /> 
    </Grid> 
+2

यह ध्यान दिया जाना चाहिए कि 'ऑटो' की चौड़ाई का अर्थ है '' केवल इन कॉलम के अंदर नियंत्रण प्रदान करने के लिए आवश्यक स्थान लेना '', जबकि '*' की चौड़ाई का अर्थ है "सभी आकार के कॉलम के बीच समान रूप से स्थान को विभाजित करें "'। तो बलम का उदाहरण अंतरिक्ष को समान रूप से 4 कॉलम के बीच विभाजित कर रहा है, और उनमें से 3 में 'टेक्स्टबॉक्स' को खींच रहा है, इसलिए 'टेक्स्टबॉक्स' की अंतिम चौड़ाई आपके ग्रिड की चौड़ाई के 3/4 वें स्थान पर होगी। – Rachel

2

Dipesh Bhatt के रूप में ठीक ही उसके जवाब में डाल दिया आपकी समस्या का हल डाल करने के लिए * या कुछ और स्तंभों के लिए चौड़ाई के रूप में विशिष्ट है।

कॉलम के लिए ऑटो चौड़ाई है कि आपके उदाहरण में क्या होता है "जितना आवश्यक है" इसलिए यह बहुत कम चौड़ाई लेता है, क्योंकि खाली टेक्स्टबॉक्स को बहुत छोटी चौड़ाई की आवश्यकता होगी, जो शायद ही दिखाई दे रहा है।

कॉलम के लिए चौड़ाई में ए * कहता है "जो भी स्थान उपलब्ध है" यह कॉलम की चौड़ाई बढ़ाएगा इसलिए यह टेक्स्टबॉक्स में और अधिक जगह देगा।

इसका मतलब है कि आप पहले से ही हासिल कर चुके हैं लेकिन कॉलम की न्यूनतम चौड़ाई के कारण इसकी शायद ही दिखाई दे रही है।

+1

बस एक अतिरिक्त नोट के रूप में - आपके टेक्स्टबॉक्स में 'स्ट्रेच' का क्षैतिज असाइनमेंट होना चाहिए। यह डिफ़ॉल्ट रूप से चाहिए, लेकिन बस मामले में ... – Liz

+0

@Liz: सहमत हुए। उल्लेख नहीं किया क्योंकि यह डिफ़ॉल्ट व्यवहार है। – Maheep

संबंधित मुद्दे

 संबंधित मुद्दे