कोड में WPF ऑटो ऊंचाई


101

मैं Heightसी # कोड में WPF नियंत्रण की संपत्ति का मूल्य " Auto" कैसे निर्धारित कर सकता हूं ?

<Grid.RowDefinitions>
    <RowDefinition />
    <RowDefinition Height="Auto" />
    <RowDefinition />
    <RowDefinition Height="Auto" />
    <RowDefinition />
    <RowDefinition Height="Auto" />
    <RowDefinition />
    <RowDefinition Height="Auto" />
    <RowDefinition />
</Grid.RowDefinitions>

मैं पीछे के कोड में इस व्यवहार को पुन: पेश करना चाहता हूं। कोई विचार?

जवाबों:


144

शायद यह लिंक आपकी मदद करेगा।

कभी-कभी, आप प्रोग्राम को एक WPF तत्व की ऊंचाई या चौड़ाई को कोड में ऑटो में सेट करना चाह सकते हैं। ऐसा करने के लिए, बस Double.NaN (संख्या नहीं) मान का उपयोग करें।

उदाहरण के लिए, C # में:

this.txtName.Width = Double.NaN;


1
मेरे मामले में काम मत करो। लेकिन मैं व्यवहार के माध्यम से ऊंचाई की चौड़ाई बदल रहा हूं (अभिव्यक्ति मिश्रण 4.0 काम)
फ्रेंक

1
लिंक मर चुका है, लेकिन आप यहां
akjoshi

2
निम्रोद का उत्तर बहुत अधिक स्पष्ट और समझने में आसान है।
डेविड

हो रही है 'NaN' संपत्ति 'MaxWidth' के लिए मान्य मान नहीं है
Damitha

मुझे लगता है कि निम्रॉड का जवाब सबसे साफ है और अब स्वीकार किया जाना चाहिए ( GridLength.Autoअतीत में यह सुनिश्चित नहीं था)। GridLength.Starशेष क्षेत्र को भरने के लिए भी है।
वोल्फगैंग श्रेयर्स

111

आप उपयोग कर सकते हैं

रोवडिफिनिशन आरडी = नया राउडफिनिशन ();  
rd.Height = GridLength.Auto;  
ContentGrid.RowDefinitions.Add (आरडी);

8
इस उत्तर और स्वीकृत उत्तर के बीच कोई अंतर? क्योंकि यदि नहीं, तो रूपरेखा को दरकिनार करने के लिए यह शीर्ष उत्तर होना चाहिए।
एस्टेब्रो

3
परावर्तक के अनुसार, ग्रिडलिफ्टिंग। ऑटो नया ग्रिडलॉग्रेंड (1.0, ग्रिडिडीनटाइप.ऑटो) है; इसलिए बिल्कुल स्वीकार्य उत्तर के बराबर नहीं है, लेकिन बहुत अधिक पठनीय है।
हेलिओस 456

यह स्वीकार किए गए उत्तर के रूप में सामान्य समाधान नहीं है। सभी नियंत्रण 'ग्रिडलेंग्निशन' ऑब्जेक्ट (संरचना) के रूप में एक ऊँचाई की संपत्ति को लागू नहीं करते हैं। उन लोगों के लिए जो केवल इस उत्तर का उपयोग करते हैं, यह काम नहीं करता है। और सवाल आम तौर पर नहीं पूछ रहा था, यह केवल उदाहरण के रूप में एक ग्रिड का उपयोग करता था।
UUDdLrLrSs
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.