2008-11-06 54 views
1

我在拖放操作期間使用CaptureMouse()來確保我不會錯過MouseUp事件,但這似乎阻止任何鼠標事件觸及其他任何對象我的畫布。這意味着我的基於IsMouseOver的觸發器不起作用,但我需要它們指出可以放置該對象的有效位置。MouseCapture防止在WPF中觸發所有基於鼠標的觸發器

我這樣做是錯誤的,還是有辦法確保我的畫布上的一切仍然獲得鼠標事件?

回答

5

元素是您的畫布的子樹的一部分嗎?或在畫布外?如果他們在此範圍內,則可以使用採用​​的Capture方法。

Mouse.Capture(elementToCapture, CaptureMode.SubTree); 

或者,你應該看看DragDrop class,並考慮使用Drop event呢?

+0

第一個選項有效,只要我稍微偏移拖動的連接,以便它在拖動時不在鼠標下方。謝謝! – 2008-11-07 04:04:28