Tôi đã có trình kích hoạt IsMouseOver trên phần tử của mình. Tôi cũng đã có một hành động kéo xảy ra, nhờ đó một phần tử khác bắt chuột, và do đó kích hoạt IsMouseOver không bao giờ xảy ra, nhưng tôi muốn nó xảy ra trên các phần tử nhất định khi tôi kéo nó (chuột bị bắt và tất cả). Điều này có thể không?IsMouseOver khi chuột bị bắt
Trả lời
Khi người dùng đang kéo thứ gì đó, chuột sẽ bị "giữ" trong thời điểm đó và các sự kiện chuột sẽ không được gửi tới các điều khiển mà chuột di chuyển qua. Chỉ có điều khiển thực sự "bắt chuột", nhận các sự kiện chuột. Vì vậy, bạn cần phải xử lý những sự kiện đó. Điều này phải dễ dàng. Nếu bạn gặp bất kỳ sự cố nào, hãy gửi email cho tôi kèm theo một số mã mẫu và tôi sẽ kiểm tra nó cho bạn. Hay nhất của mong muốn.
Tôi biết điều này đã được hỏi cách đây nhiều năm, nhưng chỉ trong trường hợp ai đó đến đây từ một công cụ tìm kiếm (giống như tôi), đây là cách tôi giải quyết vấn đề cho bản thân mình. Thay vì sử dụng IsMouseOver
sở hữu, sử dụng lần truy cập thử nghiệm trong mã của bạn để xác định xem chuột là bên trong kiểm soát của bạn:
bool IsMouseOverEx = false;
VisualTreeHelper.HitTest(this, d =>
{
if (d == this)
{
IsMouseOverEx = true;
return HitTestFilterBehavior.Stop;
}
else
return HitTestFilterBehavior.Continue;
},
ht => HitTestResultBehavior.Stop,
new PointHitTestParameters(Mouse.GetPosition(this)));
if (IsMouseOverEx)
{
//Do whatever you need in case of MouseOver
}
N.B. Nếu bạn chưa đọc câu hỏi, hãy lưu ý rằng phương pháp này là giải pháp cho các tình huống mà chuột bị "chiếm" và do đó, thuộc tính IsMouseOver
không hoạt động chính xác. Trong các tình huống bình thường, bạn nên luôn sử dụng IsMouseOver
.
- 1. Sự kiện chuột Java bị bỏ qua khi di chuyển chuột?
- 2. ddd bị treo khi bắt đầu
- 3. ddd bị treo khi bắt đầu
- 4. Cách bắt đầu sự kiện di chuột khi kéo
- 5. window.open popup bị chặn trong khi sự kiện nhấp chuột
- 6. Kiểm tra xem nút chuột có bị tắt trong khi di chuột không?
- 7. Làm cách nào để thay đổi con trỏ chuột khi nút chuột trái bị hỏng?
- 8. SQLiteConstraintException không bị bắt
- 9. Bắt bàn di chuột Mac zoom
- 10. Điều gì sẽ xảy ra sau khi gói bị bắt?
- 11. Bắt sự kiện cuộn khi tràn: phần tử bị ẩn
- 12. Ứng dụng bị treo khi Crashlytics bắt được ngoại lệ
- 13. Phím F10 không bị bắt
- 14. Khi nào Dịch vụ bắt đầu và bị ràng buộc bị hủy?
- 15. Phong cách TextFlock WPF Gạch dưới trên chuột Di chuột
- 16. ReflectionException không thể bị bắt?
- 17. Dừng hoạt ảnh và bắt đầu chuyển đổi khi di chuột
- 18. Khi sự kiện chuột và chuột phải không bằng một cú nhấp chuột
- 19. onStartCommand sau khi quá trình dịch vụ bị giết khi bắt đầu với START_STICKY
- 20. Bắt chước/giả mạo một con chuột Bấm và Chuột bằng cách sử dụng Qt
- 21. Nhận vị trí chuột trong khi di chuột xuống?
- 22. khi chọn chức năng di chuột() và di chuột()
- 23. Mẹo nút khi Chuột qua
- 24. Xác định nhấp chuột nào (nhiều thiết bị chuột) trong .NET
- 25. cách url có thể bị ẩn trong siêu liên kết khi di chuột
- 26. bắt bất kỳ nhấp chuột thực hiện bằng jQuery
- 27. Điều khiển WPF không nắm bắt sự kiện nhấn và giữ (nhấp chuột phải) khi IsManipulationEnabled được đặt
- 28. Lỗi hiệu ứng chuột di chuột jquery luôn kích hoạt một vài lần khi di chuột
- 29. Bắt sự kiện khi theo liên kết
- 30. SEHException không bị bắt bởi Try/Catch
Bạn có tìm thấy câu trả lời cho câu hỏi của mình không? –