Tôi có một biểu mẫu cửa sổ trong cửa sổ wpf và tôi đang cố gắng sử dụng DragMove
khi tôi nhấp vào biểu mẫu cửa sổ, đó là một hình tượng nên tôi muốn có thể kéo cửa sổ xung quanh bằng cách nhấp vào hình ảnh.WPF Buộc MouseDevice được ép
tôi bắt chuột hình thức của tôi xuống, và nâng cao sự kiện mouseleftbuttondown cửa sổ WPF với:
if (e.Button == MouseButtons.Left)
{
MouseDevice mouseDev = InputManager.Current.PrimaryMouseDevice;
MouseButtonEventArgs mouseEvent = new MouseButtonEventArgs(mouseDev, 0, MouseButton.Left)
{
RoutedEvent = MouseLeftButtonDownEvent
};
RaiseEvent(mouseEvent);
}
Tuy nhiên bất cứ khi nào tôi kiểm tra InputManager.Current.PrimaryMouseDevice từ xử lý của tôi (hoặc xử lý MouseMove hình thức của tôi), của LeftButton trạng thái "được giải phóng".
Tại sao điều này? Tôi không thể tìm ra cách để ép buộc nó được "ép" vì tất cả các thuộc tính đều chỉ đọc.
Hoặc cách tiếp cận của tôi có đơn giản là sai và không thể? Tôi cũng thử cài đặt vị trí cửa sổ của tôi khi di chuyển chuột, nhưng một số thứ kỳ lạ xảy ra khi các giá trị chuột của tôi tiếp tục quay lại vị trí trước đó.
Cảm ơn!
chỉnh sửa: Vì vậy, tôi đang điều chỉnh vị trí cửa sổ theo cách thủ công, nhưng vẫn hy vọng ai đó có thể khai sáng cho tôi biết tại sao MouseDevice không bị nhấn vào biểu mẫu cửa sổ. "Điều kỳ lạ xảy ra ..." chỉ là một sai lầm ngớ ngẩn trong phần của tôi, tôi giữ lại tọa độ chuột di chuyển chuột, nhưng nhận ra rằng con chuột của tôi không bao giờ di chuyển tương đối với cửa sổ kể từ khi cửa sổ đang di chuyển quá, duh!
Cũng không hoàn toàn; vì tôi đang nhấp + kéo, trạng thái trực tiếp sẽ vẫn được "nhấn" khi sự kiện MouseDown được nhấn, tuy nhiên nó không được nhấn. Có lẽ nó đã làm với các hình thức cửa sổ. Khi tôi nhấp vào bên ngoài biểu mẫu của tôi, nó cho tôi biết con chuột được nhấn, tuy nhiên nếu tôi nhấp vào bên trong biểu mẫu, nó không. – mmod