如何在Xamarin表单的网格布局中进行拖放?



我想要实现的是将红色框视图拖放到aqua box视图上。然后,水色框视图应取代红框视图。如何在 Xamarin 窗体中实现此目的?我在下面添加了以下 XAML 代码。请有人帮我解决这个问题。

AFAIK Xamarin.Forms 不支持开箱即用的拖放,因此您必须自己实现它。这并不容易,因为肯定有一些边缘情况需要考虑,但这是可以实现的。基本上步骤可能是(也许还有其他选择(

  • 添加包装GridAbsoluteLayout
  • 添加PanGestureRecognizer
  • 当平移手势开始时,检查它是否位于红色BoxView
  • 如果是这样,请将红色BoxView移动到AbsoluteLayout并将其从Grid中删除
  • 如果平移已更新,则移动红色BoxView
  • 当用户停止平移时,检查红色BoxView是否在您希望将其掉落的位置
  • 如果是这样,请删除它(无论这在应用的上下文中意味着什么(
  • 如果没有,请将其动画化回其原始位置,将其从AbsoluteLayout中删除,然后将其添加到Grid

如果您尝试实现它并遇到更具体的问题,请随时提出另一个问题。

最新更新