Как сделать перетаскивание в Grid Layout в формах Xamarin? - PullRequest
0 голосов
/ 30 сентября 2018

Чего я хочу добиться, так это перетащить вид красного поля и заскочить в окно цвета морской волныВид аквабокса должен занять место представления красного ящика.Как я могу добиться этого в формах Xamarin?Я добавил следующий код XAML ниже.Пожалуйста, кто-нибудь, помогите мне с этим.

1 Ответ

0 голосов
/ 01 октября 2018

AFAIK Xamarin.Forms не поддерживает перетаскивание из коробки, поэтому вам придется реализовать его самостоятельно.Это будет непросто, поскольку, безусловно, есть некоторые крайние случаи, которые нужно рассмотреть, но это достижимо.В основном шаги могут быть (возможно, есть другие варианты)

  • Добавить AbsoluteLayout, который обернет ваш Grid
  • Добавить PanGestureRecognizer
  • Когданачнется жест панорамирования, проверьте, находится ли он на красном BoxView
  • Если это так, переместите красный BoxView на AbsoluteLayout и удалите его из Grid
  • Переместитекрасный BoxView если панорамирование обновлено
  • Когда пользователи остановят панорамирование, проверьте, будет ли красный BoxView там, где вы ожидаете, что он будет отброшен
  • Если это так, отбросьте его (что бы это ни значило в контексте вашего приложения)
  • Если нет, анимируйте его обратно в исходное положение, удалите из AbsoluteLayout и добавьте к Grid

Если вы пытались реализовать его и столкнулись с более конкретной проблемой, не стесняйтесь задавать еще один вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...