我想要实现的是将红色框视图拖放到aqua box视图上。然后,水色框视图应取代红框视图。如何在 Xamarin 窗体中实现此目的?我在下面添加了以下 XAML 代码。请有人帮我解决这个问题。
AFAIK Xamarin.Forms 不支持开箱即用的拖放,因此您必须自己实现它。这并不容易,因为肯定有一些边缘情况需要考虑,但这是可以实现的。基本上步骤可能是(也许还有其他选择(
- 添加包装
Grid
的AbsoluteLayout
- 添加
PanGestureRecognizer
- 当平移手势开始时,检查它是否位于红色
BoxView
- 如果是这样,请将红色
BoxView
移动到AbsoluteLayout
并将其从Grid
中删除 - 如果平移已更新,则移动红色
BoxView
- 当用户停止平移时,检查红色
BoxView
是否在您希望将其掉落的位置 - 如果是这样,请删除它(无论这在应用的上下文中意味着什么(
- 如果没有,请将其动画化回其原始位置,将其从
AbsoluteLayout
中删除,然后将其添加到Grid
如果您尝试实现它并遇到更具体的问题,请随时提出另一个问题。