我在wpf窗口中有一個窗體窗體,當我單擊窗體窗體時,我試圖使用DragMove
,這是一個圖片框,所以我想能夠拖動窗口通過點擊圖片。WPF強制MouseDevice被按下
我趕上我的窗體的鼠標下來,並與提高WPF窗口的MouseLeftButtonDown事件:
if (e.Button == MouseButtons.Left)
{
MouseDevice mouseDev = InputManager.Current.PrimaryMouseDevice;
MouseButtonEventArgs mouseEvent = new MouseButtonEventArgs(mouseDev, 0, MouseButton.Left)
{
RoutedEvent = MouseLeftButtonDownEvent
};
RaiseEvent(mouseEvent);
}
然而,每當我從我的處理程序(或我的窗體的MouseMove處理程序)檢查InputManager.Current.PrimaryMouseDevice的LeftButton的狀態是「釋放」。
這是爲什麼?由於所有屬性都是隻讀的,我無法想出強制它被「按下」的方法。
或者是我的方法只是錯誤的,是不可能的?我也嘗試在鼠標移動時設置我的窗口的位置,但是一些奇怪的東西發生在我的鼠標值繼續回到先前位置的地方。
謝謝!
編輯:所以我手動調整窗口的位置,但仍然希望有人可以啓發我爲什麼MouseDevice不被按下在窗體上。 「奇怪的東西發生......」只是一個愚蠢的錯誤,我一直在重新設置鼠標移動的鼠標座標,但意識到我的鼠標從不會相對於窗口移動,因爲窗口也在移動,呵呵!
嘛不太;因爲我是點擊+拖動,當MouseDown事件被擊中時,活動狀態應該仍然是「按下」,但是它沒有被按下。也許它與Windows窗體有關。當我在表單外單擊時,它會告訴我鼠標被按下,但是如果我單擊表單內部,則不會。 – mmod 2010-10-28 19:02:30