drawing - Custom shaped Border in WPF -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 6 उत्तर

मैं एक बनाने की कोशिश कर रहा हूँ TabControl जो एक मौजूदा टैब नियंत्रण की शैली से मेल खाता है, मैं WinForms में उपयोग करता हूं, और इसकी एक विशेषता यह है कि इसमें वीएस (बाएं, अन्य किनारों पर स्लेट) में पाए जाने वाले टैब बटन आकार हैं।

< P> मैं बस WPF में शुरू कर रहा हूँ, इसलिए शायद मैं गलत पेड़ को भौंक कर रहा हूँ, लेकिन मुझे लगा कि मुझे एक सीमा प्राप्त करने की आवश्यकता है, और इसे एक पथ के साथ संलग्न करें ताकि मैं सीमा रेखा के लिए कुछ ज्यामिति निर्दिष्ट कर सकूं .. हालांकि, मुझे अभी कोई उपयोगी जानकारी नहीं मिल रही है। मुझे एस / ओ पर एक 'फ्री फॉर्म कंटेंट कंट्रोल' क्लास मिला है, लेकिन यह विशिष्ट आकार में सामग्री को मास्किंग करने के लिए है, बजाय एक विशिष्ट आकृति में इसके आस-पास की सीमा को खींचने के बजाय।

अगर कोई मुझे सही में बता सकता है दिशा मैं बहुत ज्यादा आभारी रहूँगा!

आप बॉर्डर के गुणों को सीमा के संदर्भ में निर्दिष्ट कर सकते हैं हल्का और कॉर्नररेडीस व्यक्ति के मामले में प्रत्येक पक्ष के लिए मान, उदाहरण के लिए:

  & lt; सीमा कॉर्नररेडीस = "2,2,0,0" बॉर्डरटीक्चनेस = "2,2,2,0" / & gt;  

इसमें शीर्ष लिफ्ट और शीर्ष राइट कॉर्नर त्रिज्या 2 से ऊपर और बाएं, ऊपर और दाएं किनारे के हिस्सों 2 पर सेट होंगे।

अद्यतन करें:

इसके अलावा आप अपना कस्टम एडॉर्नर भी बना सकते हैं। अधिक जानकारी प्रदान की गई

और बस कुछ स्वयं के आकार की ज्यामिति को टैबआईटम नियंत्रण टेम्पलेट में जोड़ें इसके बारे में अधिक जानकारी प्रदान की गई

नमूना

  शैली लक्ष्य प्रकार = "{x: प्रकार टैबआईटीम}" & gt; & Lt; सेटर संपदा = "खाका" & gt; & LT; Setter.Value & gt; & Lt; ControlTemplate TargetType = "{x: प्रकार टैबआईटीम}" & gt; & LT; ग्रिड & gt; & Lt; व्यूबॉक्स चौड़ाई = "{widthbinding width}" ऊँचाई = "{टेम्पलेट बाइंडिंग ऊँचाई}" विस्तार = "भरें" स्ट्रेच डायरेक्शन = "डाउनऑनली" & gt; & Lt; पथ x: नाम = "पथ" खंड = "भरें" स्ट्रोक = "ब्लैक" भरें = "{स्टेटिक रिसोर्स लाइटब्रश}" चौड़ाई = "ऑटो" ऊँचाई = "ऑटो" डेटा = "एम 0,20 एल 0,5 5 , 0 100,0 100,20 "/ & gt; & Lt; / Viewbox & gt; & Lt; सीमा दृश्यता = "दृश्यमान" x: नाम = "सीमा" मार्जिन = "5,1,0,1" & gt; & Lt; ContentPresenter x: नाम = "कंटेंटसाइट" वर्टिकलएलिन्मेंट = "केंद्र" क्षैतिज एलाइन्मेंट = "केंद्र" सामग्री स्रोत = "हैडर" मार्जिन = "12,2, 12,2" पहचानता प्रवेश = "सच" /> & Lt; / बॉर्डर & gt; & Lt; / ग्रिड & gt; & LT; ControlTemplate.Triggers & gt; & Lt; ट्रिगर प्रॉपर्टी = "आईस्लेक्टेड" मान = "सत्य" & gt; & Lt; सेटर संपदा = "Panel.ZIndex" मान = "100" / & gt; & Lt; सेटर लक्ष्यनैम = "पथ" प्रॉपर्टी = "भरें" मान = "{स्टेटिक रिसोर्स विंडोबैकग्रीब्रिश}" / & gt; & Lt; / उत्प्रेरक & gt; & Lt; ट्रिगर प्रॉपर्टी = "इज़नएबल" मान = "गलत" & gt; & Lt; सेटर लक्ष्यनैम = "पथ" संपत्ति = "भरें" मान = "{स्टेटिक संसाधन दुर्घटनाबैकग्रीब्रिश}" / & gt; & Lt; सेटर लक्ष्यनाम = "पथ" संपत्ति = "स्ट्रोक" मान = "{स्टेटिक संसाधन दुर्घटनाबस्टरब्रिश}" / & gt; & Lt; सेटर संपदा = "अग्रभूमि" मान = "{स्टेटिक संसाधन दुर्घटनाअफ़र्गब्रिश}" / & gt; & Lt; / उत्प्रेरक & gt; & LT; /ControlTemplate.Triggers> & Lt; / ControlTemplate & gt; & LT; /Setter.Value> & Lt; / सेटर & gt; & Lt; / शैली & gt;  

Comments