如何檢查矩形對象是否位於畫布中的特定位置?我發現唯一的解決方案是通過畫布中的所有孩子,並檢查他們的位置是否匹配,但我認爲這不是一個好的解決方案。WPF Canvas在位置上是矩形
所以我需要像Canvas.IsRectangleAtPosition(Point x)
這樣的東西,有沒有類似的東西?
如果不是,我該如何實現這種方法?
親切的問候
如何檢查矩形對象是否位於畫布中的特定位置?我發現唯一的解決方案是通過畫布中的所有孩子,並檢查他們的位置是否匹配,但我認爲這不是一個好的解決方案。WPF Canvas在位置上是矩形
所以我需要像Canvas.IsRectangleAtPosition(Point x)
這樣的東西,有沒有類似的東西?
如果不是,我該如何實現這種方法?
親切的問候
爲了找到最頂部的UI元素(一個會獲得鼠標輸入),你可以簡單地調用InputHitTest。
Point pos = ...
Rectangle rect = canvas.InputHitTest(pos) as Rectangle;
您也可以使用VisualTreeHelper.HitTest。
Rectangle rect = VisualTreeHelper.HitTest(canvas, pos).VisualHit as Rectangle;
它似乎沒有幫助,如果我啓動程序,它來了到那一點,它說NullReferenceException的東西:/是否有解決方案,或者我可以檢查畫布中點的顏色(用戶看到的)? – dingoglotz
你應該知道NullReferenceException來自哪裏。嘗試調試。 – Clemens
你的意思是找到覆蓋某個位置的第一個孩子(或所有孩子)嗎? – Clemens
多數民衆贊成在右邊:)只有一個矩形在一個位置,而不是兩個重疊,所以我只需要檢查,如果在某個位置有一個矩形 – dingoglotz