2011-10-09 24 views
13

UIElement.Clip संपत्ति Geometry ऑब्जेक्ट लेती है और UIElement के बाहर क्लिप करने के लिए इसका उपयोग करती है। मैं ज्यामितीय उलटा करना चाहता हूं और इसके बजाय तत्व में एक छेद पंच करना चाहता हूं।सिल्वरलाइट/डब्ल्यूपीएफ में क्लिपिंग ज्यामिति को कैसे घुमाएं?

कोई भी यह कैसे जानता है?

मुझे लगता है कि क्लिप ज्यामिति का एक उलटा संस्करण बनाना काम करेगा, लेकिन मुझे ऐसा करने का कोई तरीका नहीं मिल रहा है।


संपादित ऐसा लगता है WPF Geometry.Combine जो एक-दूसरे ज्यामिति घटाना करने के लिए इस्तेमाल किया जा सकता है कि, हालांकि इस सिल्वरलाइट में उपलब्ध नहीं है। यदि यह था, तो मैं तत्व ज्यामिति आयत के आयताकार से क्लिप ज्यामिति घटा सकता था, और इसके बजाय क्लिप करने के लिए इसका उपयोग कर सकता था।

उत्तर

14

सिल्वरलाइट में एक दृष्टिकोण GeometryGroup का उपयोग करना है और समूह में एक बहुत ही नकारात्मक आयत से दूर एक बहुत बड़ा आयत शामिल है।

उदाहरण के लिए निम्नलिखित नीले वर्ग छोटे वर्ग छेद है: -

<Rectangle Fill="Blue" HorizontalAlignment="Center" VerticalAlignment="Center" Height="200" Width="200"> 
     <Rectangle.Clip> 
      <GeometryGroup> 
       <RectangleGeometry Rect="-2048 -2048 4096 4096" /> 
       <RectangleGeometry Rect="100 100 50 50" /> 
      </GeometryGroup> 
     </Rectangle.Clip> 
    </Rectangle>