Tôi đang viết điều khiển người dùng trong WPF dựa trên ListBox hay không. Một trong những phần chính của chức năng là khả năng sắp xếp lại danh sách bằng cách kéo các mục xung quanh. Khi người dùng kéo một mục, tôi thay đổi các mục Opacity
thành 50% và di chuyển vật thể trong một ObservableCollection
trong ViewModel của tôi tùy thuộc vào nơi người dùng muốn. Trong sự kiện thả, tôi thay đổi Opacity
trở lại 100%.Làm cách nào để biết một lần kéo/thả có bị hủy trong WPF
Vấn đề tôi gặp phải là nếu người dùng kéo mục đó ra khỏi tầm kiểm soát của tôi và thả nó ở một nơi khác thì tôi cần thay đổi Opacity
trở lại 100% và di chuyển mục trở lại vị trí của nó khi người dùng bắt đầu kéo. Có sự kiện nào tôi có thể xử lý để nắm bắt hành động này không? Nếu không có cách nào xảo quyệt khác để giải quyết vấn đề này?
Tôi chưa bao giờ nhận ra rằng DragDrop.DoDragDrop là lời kêu gọi chặn. Nó không trở lại cho đến sau khi sự sụt giảm đã xảy ra (thành công hay cách khác). Rất hữu dụng! – Darren
Holy crap +1 .... –