2011-06-03 8 views
19

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

मार्कअप की तरह काफी है निम्नलिखित

<Grid> 
    <StackPanel> 
     <Expander> 
      <DataGrid> 
     <Expander> 
      <ListView> 
+0

मैं एक कूबड़ है "? कोई विचार" आपका वास्तविक प्रश्न यहां नहीं है। – BoltClock

+0

किस प्रकार का कंटेनर/पैनल 'ListView' अंदर है? –

उत्तर

43

मुझे लगता है कि आपके ListView एक पैनल के अंदर है जो इसे बिना सीमा के लंबवत विस्तार करने की अनुमति देता है।

यदि आप एक StackPanel अंदर एक ListView शब्दों में कहें, उदाहरण के लिए, ListView की ऊंचाई StackPanel की ऊंचाई पार कर सकते हैं। ListView ने अपनी सभी वस्तुओं को दिखाने के लिए अपनी ऊंचाई बढ़ा दी है, जहां तक ​​यह संबंधित है, इस प्रकार कोई स्क्रॉलबार नहीं है।

हालांकि

, अगर आप को बदलने कि StackPanelGrid, जहां नियंत्रण स्वचालित रूप से खुद को उस क्षेत्र के अंदर फिट करने की कोशिश एक करने के लिए, ListView स्वचालित रूप से एक स्क्रॉलबार होगा जब यह और अधिक आइटम की तुलना में यह प्रदर्शित कर सकते हैं शामिल हैं।

यह शायद आपके लेआउट को समायोजित करके सबसे अधिक सुलझाया जाएगा जिसमें ListView है।

+0

यह वही है जो मेरे पास है। मार्कअप नमूना के साथ पोस्ट अपडेट किया गया। – Eatdoku

+0

मैं पूछूंगा: क्या 'स्टैकपैनेल' में 2 'एक्सपेंडर' एकमात्र चीजें हैं? 'स्टैकपैनेल' 'ग्रिड 'में एकमात्र चीजें हैं? क्या आप 'लिस्ट व्यू' को बाहरी 'ग्रिड' में उपलब्ध जितना अधिक कमरा लेना चाहते हैं? यदि वे सभी * हां * हैं, तो आप 'StackPanel' के बजाय 'डॉकपैनेल' का उपयोग कर सकते हैं। यदि 'ListView' के साथ 'विस्तारक' अंतिम बच्चा है, तो यह शेष क्षेत्र भर जाएगा। –

+0

मैंने ग्रिड के साथ स्टैकपैन को बदल दिया है, समस्या हल हो गई है :) – Eatdoku

3

यह एक स्क्रॉलबार क्यों दिखाना चाहिए अगर वहाँ स्क्रॉल करने के लिए कुछ भी नहीं है?

यदि आप किसी भी डिफ़ॉल्ट व्यवहार को ओवरराइड करना चाहते हैं तो आप ListBox पर ScrollViewer.VerticalScrollBarVisibility="Visible" सेट कर सकते हैं।

6
इसके बजाय स्थापित करने की

Height="Auto" 

सेट:

Height="1*" 
+0

उम, क्या आप 'ग्रिड' के * पंक्ति '* के एक या अधिक पर' ऊंचाई 'संपत्ति का उल्लेख करना चाहते थे? AFAIK, सभी तत्वों का उल्लेख किया गया है, 'ग्रिड 'के' पंक्ति' * एकमात्र तत्व हैं जिनकी 'ऊंचाई' संपत्ति "*" नोटेशन स्वीकार करती है। – Tom