2010-08-09 11 views
9

मुझे DataGrid नियंत्रण मिला है जो Grid लेआउट कंटेनर के भीतर है, और मुझे DataGrid पर स्वयं को स्क्रॉल करने के लिए ऑटो-स्क्रॉल नहीं मिल रहा है। मैं DataGrid को ScrollViewer के आस-पास लपेट सकता हूं और इस प्रकार स्क्रॉल बार जोड़ रहा हूं, लेकिन ऑटो स्क्रॉलिंग काम नहीं करती है।एक WPF डेटाग्रिड पर स्क्रॉलबार/स्क्रॉलिंग को सक्षम करने के लिए

तो फिलहाल, जब DataGrid में नई प्रविष्टियां जोड़ दी जाती हैं, तो DataGrid लंबवत रूप से फैलता है। मैं DataGrid में आइटम्स को स्क्रॉल करने की अनुमति देने के लिए वर्टिकल स्क्रॉल बार सक्षम करना चाहता हूं, जब पूरे DataGrid विस्तार के बजाय मूल वर्टिकल आकार की तुलना में अधिक आइटम जोड़े जा सकते हैं। निश्चित रूप से ऐसा करने का एक आसान तरीका होना चाहिए।

+0

की संभावित डुप्लिकेट [WPF डेटा ग्रिड - किसी भी स्क्रॉलबार दिखा नहीं] (https://stackoverflow.com/questions/24015890/wpf-datagrid-not-showing-any-scrollbar) –

उत्तर

16

ठीक है, यह पता चला है ... यह पता चला है कि मुझे स्क्रॉलव्यूअर के चारों ओर डेटाग्रिड को लपेटने की भी आवश्यकता नहीं थी। मुझे बस इतना करना था कि डेटाग्रिड के लिए ऊंचाई परिभाषित करें ("ऊंचाई" विशेषता का उपयोग करना) और डेटाग्रिड स्क्रॉल बार तब प्रकट होता है जब आइटम जोड़े जाते हैं जो ऊंचाई से ऊपर जाते हैं। जाहिर है जब ऊंचाई परिभाषित नहीं की जाती है, यह गतिशील है और लंबवत रूप से फैलता है क्योंकि नए आइटम जोड़े जाते हैं।

इसमें जोड़ने के लिए एक और बात यह थी कि मेरे डेटाग्रिड में, मेरे पास प्रत्येक पंक्ति के लिए एक पंक्ति विवरण भी परिभाषित किया गया था, इसलिए जब एकाधिक पंक्ति विवरण विस्तृत किए गए थे, तो स्क्रॉलिंग सक्षम हो जाएगी, लेकिन स्क्रॉल बार व्यवहार थोड़ा छोटा था निराला (जैसे यह चिकनी स्क्रॉलिंग नहीं था), और इसके लिए फिक्स स्क्रूइंग बनाने के लिए फिक्स निम्नलिखित डेटाग्रिड विशेषता जोड़ रहा था: स्क्रॉलव्यूयर.कैनकंटेंटस्क्रॉल = "झूठा" (मुझे लगता है कि डाटाग्रिड नियंत्रण एक स्क्रॉल व्यूअर से/विरासत में है) और फिर स्क्रॉलिंग चिकनी थी और सामान्य अपेक्षित स्क्रॉलिंग व्यवहार की तरह।

+13

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

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