2011-06-14 18 views
12

मेरे पास मेरी डब्ल्यूपीएफ विंडो में ग्रिड है। जब कोई विशेष बटन दबाया जाता है, तो मैं ग्रिड कोशिकाओं में से एक में अपने मूल आकार को दोगुना करने के लिए नीचे विस्तार करने के लिए नियंत्रण चाहता हूं। जब ऐसा होता है, तो नियंत्रण युक्त सेल की दृश्य सीमाओं पर नियंत्रण होता है। हालांकि, मुझे नीचे दी गई सेल के शीर्ष पर दिखाई देने वाली सभी सामग्री की आवश्यकता है। मैंने पैनल.जेंडेक्स को उच्च मूल्य पर सेट करने का प्रयास किया, इसका कोई फायदा नहीं हुआ। मुझे मूल रूप से सीएसएस में "अतिप्रवाह: दृश्यमान" की कार्यक्षमता अनुकरण करने की आवश्यकता है। क्या यह WPF/Xaml में संभव है?डब्ल्यूपीएफ ग्रिड सेल सामग्री को ग्रिड सेल के बाहर विस्तार करने की अनुमति दें?

+0

क्या आपने ClipToBounds = false की कोशिश की है? – Tormod

उत्तर

1

आप शायद इसे पॉपअप के साथ कर सकते हैं: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup.aspx, विशेष रूप से यदि आप ओवरफ्लो विंडो सीमाओं को नजरअंदाज करना चाहते हैं (उदाहरण के लिए सजावट वाले समाधान, उदाहरण नहीं हो सकते हैं)। आप पॉपअप में नियंत्रण रखना चाहते हैं, और उसके बाद अतिप्रवाह प्रभाव प्राप्त करने के लिए पॉपअप की ऊंचाई का विस्तार करना चाहते हैं। गैर-विस्तारित आकार सही रहता है यह सुनिश्चित करने के लिए आपको पॉपअप के पीछे एक और पैनल या कुछ डालने की आवश्यकता हो सकती है।

7

ClipToBounds सेल के भीतर नियंत्रण की संपत्ति False पर सेट करें और फिर सेल की सामग्री को कैनवास में लपेटें। कैनवास सीमाओं से एक गारंटीकृत ब्रेक है, सभी नियंत्रण नहीं करते हैं (जैसे बटन)।

उदाहरण:

<Canvas Grid.Row="5" Grid.Column="3"> 
    <TextBlock Text="Long text here" ClipToBounds="False"> 
</Canvas> 
+0

सिल्वरलाइट के लिए बस एक टिप्पणी: डब्ल्यूपीएफ (https://msdn.microsoft.com/en-us/library/system.windows.uielement.cliptobounds(v=vs जैसे नियंत्रण वर्गों पर कोई 'क्लिपटॉबाउंड' संपत्ति नहीं है। 110) .aspx)। सिल्वरलाइट में यह कैनवास के भीतर नियंत्रण लपेटने के लिए पर्याप्त है। – Martin

2
  • उपयोग rowspan या columnspan
  • जब ग्रिड जगह तल पर सेल को परिभाषित। चूंकि प्रतिपादन इंजन शीर्ष से नीचे तक प्रस्तुत करता है और आप चाहते हैं कि यह सेल आपकी अन्य कोशिकाओं के शीर्ष पर हो। आप ज़िन्डेक्स से दूर हो सकते हैं लेकिन मैं ज़िन्डेक्स को बनाए रखने को कम करने की कोशिश करता हूं।
+0

यह उत्तर होगा, क्योंकि 'क्लिपटॉबाउंड = "ट्रू" घटक को प्रदर्शित करने के लिए आवश्यक स्थान को संरक्षित नहीं करता है जब ग्रिड पंक्ति चौड़ाई तय नहीं होती है। – n0ne

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