2011-04-18 12 views
23

में स्क्रोलव्यूअर की वर्टिकल स्क्रॉलबार चौड़ाई को कैसे ढूंढें मेरे पास स्क्रॉलव्यूयर है और इसमें मैं वर्टिकल स्क्रॉलबार दिखा रहा हूं, अब सिस्टम के रिज़ॉल्यूशन को बदलने पर मैं स्क्रॉलबार की चौड़ाई प्राप्त करना चाहता हूं। मैं One StackOverflow Post के माध्यम से गया, जहां वे सिस्टम पैरामीटर की जांच करने के लिए उल्लेख करते हैं। स्क्रॉलविड्थ संपत्ति लेकिन फिर से मुझे उनके द्वारा कोई मदद मिलती है। क्या कोई मेरी समस्या को ठीक करने में मेरी सहायता कर सकता है। किसी भी उत्तर की सराहना की जाएगी।सी #

+2

इस कोड के लिए जांचें, यह आपको डिफ़ॉल्ट स्क्रॉलबार चौड़ाई देगा: डबल स्क्रॉलबार्विथ = सिस्टम पैरामीटर। वर्टिकलस्क्रॉलबारविड्थ; जिस तरह से आप इसे ढूंढ रहे हैं, वैसे भी वर्टिकलस्क्रॉलबारविड्थ की डिफ़ॉल्ट शून्य 17 मुझे लगता है। – SharpUrBrain

+0

@SharpUrBrain: हाँ मैंने चेक किया, यह मुझे 17 पिक्सेल दे रहा है लेकिन मैं सोच रहा था कि क्या यह डीपीआई सेटिंग्स के अनुसार बदल रहा है, इसलिए मैं इसकी तलाश कर रहा था। – Turtleneck

उत्तर

39

मुझे लगता है कि SystemParameters.VerticalScrollBarWidth वह है जिसे आप ढूंढ रहे हैं।

+10

यदि आपको इसे एक्सएएमएल में व्यक्त करने की आवश्यकता है, तो आप इसे इस तरह से कर सकते हैं: <कॉलमडिफिनिशन चौड़ाई = "{x: स्टेटिक सिस्टम पैरामीटर। वर्टिकलस्क्रोलबारविड्थ}" /> – Darren

+0

मुझे एक कास्ट अपवाद मिला क्योंकि मान एक डबल है, लेकिन कॉलमडिफिनिशन एक है GridLength। मैंने जिस समाधान का उपयोग किया: <कॉलमडिफिनिशन चौड़ाई = "{बाध्यकारी स्रोत = {x: स्टेटिक सिस्टम पैरामीटर। वर्टिकलस्क्रोलबारविड्थ}}" /> – Yaurthek

5

मुझे यकीन नहीं है कि यह सही जवाब है या नहीं। प्रत्येक WPF नियंत्रण को भी स्क्रॉलबार को पुन: स्थापित किया जा सकता है। तो SystemParameters.VerticalScrollBarWidth केवल तभी काम करता है जब इसे डिफ़ॉल्ट स्क्रॉलबार के रूप में उपयोग किया जाता है। सही समाधान दृश्य पेड़ में ऊर्ध्वाधर स्क्रॉलबार को ढूंढना और इसकी वास्तविक वाइड को मापना होगा। यह सबसे सटीक माप है।

+0

आप एक्सएएमएल में ऐसा करने के बारे में कैसे जाएंगे? – Grubsnik

+0

@Grubsnik शायद आपके द्वारा बनाई गई संपत्ति के लिए बाध्यकारी हो ... कुछ भी आगे नहीं दिमाग में दिमाग – Noctis

+0

@Grubsnik यदि आप XAML प्रदान कर सकते हैं तो मैं इसे लिखने का प्रयास कर सकता हूं। यह एक कस्टम समाधान है इसलिए आपको और तत्काल उत्तर देना मुश्किल है। – Patrik