2010-07-02 10 views
5

मेरे पास इस तरह परिभाषित एक सूची बॉक्स है:डब्ल्यूपीएफ: आइटम्सपेनल टेम्पलेट में लपेटें सूची चौड़ाई बढ़ाती है

 <ListBox.ItemTemplate> 
     <DataTemplate> 
      <ItemsControl> 
       <!-- Contents here --> 
      </ItemsControl> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

मेरी समस्या यह है: यह सूची ग्रिड नियंत्रण में निहित है, और उस सेल के सभी उपलब्ध स्थान का उपयोग करना चाहिए इसमें निहित है, लेकिन यह माता-पिता को अधिक जगह आवंटित करने के लिए मजबूर नहीं करना चाहिए। लेकिन क्या होता है कि एक बार लपेटने वाला पैनल भर जाता है, वास्तव में वस्तुओं को अगली पंक्ति में लपेटने की बजाय (जैसा कि यह होना चाहिए), यह सिर्फ सूची बॉक्स की चौड़ाई फैलाता है, और प्रक्रिया में माता-पिता ग्रिड को आकार बदलने के लिए मजबूर करता है।

मैं अपने माता-पिता के आकार का सम्मान करने के लिए रैप पैनल कैसे प्राप्त कर सकता हूं, और इसे अपने आकार का विस्तार करने के लिए मजबूर नहीं कर सकता?

अग्रिम धन्यवाद!

संपादित करें: एक और बात। मैं लपेटने के लिए स्पष्ट रूप से रैपपनेल की चौड़ाई निर्धारित कर सकता हूं, लेकिन मैं रैपपैनल को सूची बॉक्स के समान आकार रखना चाहता हूं।

उत्तर

17

सेट ScrollViewer.HorizontalScrollBarVisibility="Disabled" और WrapPanel लपेट होगा।

<Grid> 
    <ListBox 
     ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel /> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 
    </ListBox> 
</Grid> 
+0

दुर्भाग्य है कि काम नहीं किया ... मैं दोनों छिपे हुए और अक्षम पर सेट करने की कोशिश की है, और यह अभी भी अंतरिक्ष का उपयोग करता है का विस्तार किया है। :( ध्यान दें कि समस्या कभी नहीं था कि लिस्टबॉक्स ग्रिड यह था की तुलना में बड़ा हो गया (ताकि एक स्क्रॉलबार दिखाई देंगे), समस्या यह है कि ग्रिड सेल क्या है बढ़े हुए है, और इसके साथ लिस्टबॉक्स है। – Hallgeir

+0

ओह, एक और बात। ग्रिड एक uniformgrid में निहित है, कि समस्या हो सकती है? हो सकता है कि uniformgrid ग्रिड शामिल नहीं है और उसकी वजह से फैलता है। – Hallgeir

+0

अपने प्रश्न आप wrappanel उल्लेख किया है और न uniformgrid में। मेरे कोड आप के रूप में अपने समस्या का समाधान होता wrappanels के बारे में अपने प्रश्न में इसे समझाया। यदि आपको सूची बॉक्स में आइटमपैनल के रूप में वर्दीग्रिड के साथ कोई समस्या है, तो आपको एक और प्रश्न लिखना चाहिए। –

0

मैं इस समस्या .. समस्या थी (शायद) के कंटेनर है कि मेरे लिस्टबॉक्स निहित में से कुछ एक छोटे से भी मेरी लिस्टबॉक्स के लिए जगह आवंटित करने के साथ उदार था कि समाधान कर लिया है। किसी भी मामले में, जैसे ही मैंने अपने शेष कंटेनर (जिसमें मेरी सूची शामिल है) के लिए स्क्रॉलबार हटा दिया, यह अपेक्षा के अनुसार काम करता है। :)

अपने उत्तर के लिए धन्यवाद, यह इस को हल करने में काफी मददगार था।

0

मैं डिज़ाइन मोड में इस मुद्दे (मिश्रण और वी.एस. 2013) के साथ काम कर रहा था और लपेट नहीं था जब तक मैं कुछ डिजाइन समय पृष्ठ को आकार देने वाला कहा:

घ: DesignHeight = "300" घ: DesignWidth = "600"

0

आपकी अपेक्षा के अनुरूप जब तक आप विकलांग के लिए क्षैतिज स्क्रॉल पट्टी सेट आम तौर पर लपेट नहीं होंगे। अब आप एक wrappanel है कि वास्तव में लपेटता :)

ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
संबंधित मुद्दे