2011-01-23 27 views
1

我在想更好的方式來管理我的應用程序中的「工作區」,用戶可以在這個空間移動東西,並且可以平移。管理一個空間,你可以移動東西(Silverlight)

讓我們想象一下,我有我的應用程序界面,四周有一些按鈕,一個樹形視圖等,在中間有一個用戶可以移動和使用一些小部件的畫布,他可以平移這個空間來移動它。

對於泛,我想在這個空間中處理MouseLeftButtonDown(將布爾型「UserMoving」切換爲true),並在MouseMove上應用於翻譯空間(從兩個事件之間的Delta ),直到我檢測到MouseLeftButtonUp,知道他已停止(UserMoving爲false)。問題是,如果用戶「鼠標左鍵按下」不在空間本身(帆布),我永遠不會知道他已經釋放鼠標。什麼是最好的管理,他可以釋放平底鍋的事實(或在應用程序中的任何地方拖動小部件)?

有人已經管理這樣的事情,可以幫助我嗎?

回答

2

您應該在鼠標向下調用畫布上的UIElement.CaptureMouse。這將保持畫布接收鼠標事件,即使用戶移動到其區域之外。

打開鼠標,撥打ReleaseMouseCapture

+0

好的謝謝你! – 2011-01-24 08:46:11

相關問題