Vấn đề với mất con chuột khi di chuyển quá nhanh, có thể được giải quyết
này được lấy từ MSDN:
Cửa sổ mới chứa trẻ em nội dung của Popup.
Điều khiển bật lên duy trì tham chiếu đến Nội dung con của nó dưới dạng con logic. Khi cửa sổ mới được tạo ra, nội dung của Popup trở thành một đứa trẻ trực quan của cửa sổ và vẫn là con logic của Popup. Ngược lại, Popup vẫn là cha mẹ hợp lý của nội dung Con của nó.
Nói cách khác, con của popup được hiển thị trong cửa sổ độc lập.
Vì vậy, khi thử làm như sau:
Popup.CaptureMouse()
đang chụp cửa sổ trình bao bọc chứ không phải cửa sổ bật lên. Thay vào đó, hãy sử dụng Popup.Child.CaptureMouse()
để chụp hình thực tế.
Và tất cả các sự kiện khác phải được đăng ký sử dụng Popup.Child
.
Giống như Popup.Child.MouseMove
, Popup.Child.LostCapture
và vân vân
này đã được thử nghiệm và làm việc hoàn toàn tốt đẹp
Có lẽ tôi thiếu một thứ gì đó đơn giản mà nhà phát triển WPF dày dạn biết, nhưng làm cách nào để sử dụng lại? Khi tôi tạo điều khiển trong một ngữ cảnh XAML khác (như cố gắng sử dụng lại nó trong một cửa sổ), bất kỳ nội dung nào tôi chỉ định sẽ ghi đè phần tử Canvas mà ngón tay cái bị ràng buộc. – Vassi
Tôi đã thử giải pháp này. Hoạt động tuyệt vời! Cảm ơn Jacob. Tôi đang gặp phải một vấn đề: Tôi có một cái nhìn bên trong Thumb này và tôi có thể kéo toàn bộ khung nhìn đẹp, tuy nhiên nếu chế độ xem đó có thanh cuộn, thì kéo thanh cuộn đang gây ra việc kéo ngón tay cái và do đó toàn bộ khung nhìn. Có cách nào để tránh điều này không? – Shankar