Wpf 如何检测跌落,无论跌落发生在何处?
我正在创建一个具有拖放功能的WPF应用程序 当开始拖动时,我的窗口中矩形的颜色将从白色变为绿色或红色,以指示哪些矩形是有效的拖放目标 每当执行拖放时,我希望将矩形的颜色恢复为白色,而不管拖放发生在何处 我已经设法恢复颜色时,下降发生在下降的目标。但现在我找不到一种方法来做同样的事情,当下降是在其他地方进行 我尝试过这样的事情,但运气不好:Wpf 如何检测跌落,无论跌落发生在何处?,wpf,vb.net,Wpf,Vb.net,我正在创建一个具有拖放功能的WPF应用程序 当开始拖动时,我的窗口中矩形的颜色将从白色变为绿色或红色,以指示哪些矩形是有效的拖放目标 每当执行拖放时,我希望将矩形的颜色恢复为白色,而不管拖放发生在何处 我已经设法恢复颜色时,下降发生在下降的目标。但现在我找不到一种方法来做同样的事情,当下降是在其他地方进行 我尝试过这样的事情,但运气不好: Private Sub Meh(sender As Object, e As QueryContinueDragEventArgs) Handles Drag
Private Sub Meh(sender As Object, e As QueryContinueDragEventArgs) Handles DragSource.QueryContinueDrag()
If e.Action = DragAction.Cancel Or e.Action = DragAction.Drop Then
For Each R as Rectangle In Rectangles.Children
R.Fill = Brushes.White
Next
End If
End Sub
我甚至做了一个窗口MouseUp事件的处理程序来完成它。还是不行
有人能帮我吗?不要使用事件,只需在DoDragDrop()调用后恢复即可。另外请注意,此方法会告诉您是否在返回值中实际发生了拖放。这是不合适的,因为调用后颜色会更改为绿色/红色。我希望只有当鼠标按钮被释放时,它们才会被恢复。