2010-01-04 17 views
7

में परीक्षण परीक्षण करें मेरे पास EllipseCanvas पर है और मैं इस पर हिट टेस्टिंग कर रहा हूं। हर बार जब मैं Ellipse के स्ट्रोक पर क्लिक करता हूं, तो परीक्षण पास हो जाता है। यदि मैं Ellipse के बीच में क्लिक करता हूं, तो परीक्षण विफल हो जाता है। यह अच्छा है!डब्ल्यूपीएफ

के बाद मैं इस तरह अंडाकार भरने: myEllipse.Fill = new SolidColorBrush(Colors.Blue);, परीक्षण pasess भी जब मैं Ellipse के बीच में क्लिक करें।

मैं इसे कैसे अक्षम कर सकता हूं? (यहां तक ​​कि जब Ellipse भर दिया जाता है, तो जब मैं बीच में क्लिक करता हूं तो परीक्षण विफल हो जाएगा) धन्यवाद!

उत्तर

8

आप अपने खुद के हिट परीक्षण (ऐसा करने के तरीके पर जानकारी के लिए Hit Testing in the Visual Layer देखें) है, तो आप GeometryHitTestResult की IntersectionDetail जांच करने के लिए सक्षम होना चाहिए IntersectionDetail.Intersects, और नहीं IntersectionDetail.FullyContains है।

+0

4.5 का लिंक (?) नहीं दिखाता है ... लेकिन 4.0 काम करता है। [विजुअल लेयर में परीक्षण हिट करें] (https://msdn.microsoft.com/en-us/library/vstudio/ms752097%28v=vs.100%29.aspx) – OmegaMan

0

क्या आप इसके बीच में एक छोटा अंडाकार डाल सकते हैं और IsHitTestVisible = "false" सेट कर सकते हैं?

+1

यह निचले अंडाकार को हिट होने से नहीं रोकेगा , IsHitTestVisible = false उस तत्व को परीक्षण को हिट करने के लिए अदृश्य बनाता है, लेकिन यह प्रभावित तत्व के नीचे तत्वों को प्रभावित नहीं करता है। –