2009-12-22 11 views
5

कोई भी इस वस्तु को Xaml से बनाने का एक अच्छा तरीका जानता है? इसे अन्य नियंत्रणों के शीर्ष पर स्तरित करते समय .5 अस्पष्टता पर भी काम करना पड़ता है।डब्ल्यूपीएफ - पथ/ज्यामिति सहायता - अजीब आकार

इसे क्षैतिज या लंबवत संरेखण के माध्यम से भी आकार बदलने योग्य होना चाहिए।

Shape http://monitor.utopiaselfscan.com/test.bmp

मैं कुछ परेशानी हो रही है। मुझे सबसे नज़दीक मिलता है 2 सीमाओं के साथ, एक नकारात्मक मार्जिन होता है - लेकिन यह अस्पष्टता लागू होने पर काम नहीं करता है।

कोड है कि काम करता है:

  <Path Fill="Black"> 
       <Path.Data> 
        <CombinedGeometry GeometryCombineMode="Exclude"> 
         <CombinedGeometry.Geometry1> 
          <RectangleGeometry RadiusX="5" RadiusY="5" Rect="0,0,200,100" /> 
         </CombinedGeometry.Geometry1> 
         <CombinedGeometry.Geometry2> 
          <RectangleGeometry RadiusX="5" RadiusY="5" Rect="105,5,90,90" /> 
         </CombinedGeometry.Geometry2> 
        </CombinedGeometry> 
       </Path.Data> 
      </Path> 
+0

मैंने इस वास्तविक रंग को पेंट में बनाया है, काला भाग ऑब्जेक्ट की चौड़ाई 1/2 होना चाहिए। – jonathanpeppers

उत्तर

6

Xor के GeometryCombineMode के साथ एक EvenOdd FillRule के साथ एक GeometryGroup, या एक CombinedGeometry का प्रयोग करें या बाहर निकालें। गठबंधन करने के लिए ज्यामिति दोनों उचित रेडियसएक्स और त्रिज्या के साथ आयताकार जीमेट्री वस्तुएं होंगी। नतीजा बाहरी आयताकार होगा जिसमें "छेद" होता है जहां आंतरिक आयताकार स्थित था। (मुझे लगता है कि आप काले रंग के भीतर एक सफेद आयताकार की बजाय चाहते हैं।)

फिर आप इस समग्र ज्यामिति को पथ की डेटा संपत्ति के रूप में निर्दिष्ट कर सकते हैं, और आवश्यकतानुसार भरें और अस्पष्टता सेट कर सकते हैं।

+0

आपका सुझाव काम करता है। मैंने WPF में पहले कभी कच्चे ज्यामिति का उपयोग नहीं किया है। – jonathanpeppers

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