Перетащите в Windows Phone 7.1 - PullRequest
       1

Перетащите в Windows Phone 7.1

1 голос
/ 01 апреля 2012

Windows Phone 7.1 (Mang), SL4, VS 2010 / Expression Blend.

У меня есть элемент пользовательского интерфейса (эллипс), к которому я добавил поведение MouseDragElementBehavior, чтобы теперь я мог перетаскивать свой эллипс на все остальные мои элементы. Отлично. Что я не могу понять, так это как определить, куда (какой другой элемент пользовательского интерфейса, в частности, в данном случае холст) он был добавлен. Представьте себе игровую доску, на которой вы нажимаете и перетаскиваете фигуру из одного квадрата в другой.

Как я могу определить, был ли он "сброшен" на другой элемент?

1 Ответ

1 голос
/ 21 апреля 2012

Класс VisualTreeHelper содержит метод FindElementsInHostCoordinates , в который можно передать местоположение точки или Rect вашего эллипса, а затем получить все элементы управления, которые существуют в этом местоположении, и действовать соответствующим образом.

Вы можете найти раздел замечаний в FindElementsInHostCoordinates полезно.

Я думаю, вы можете без проблем использовать этот метод в базовых сценариях. Некоторое время я использовал его в одном из своих приложений, а затем решил использовать ручной метод, в котором просто зацикливаюсь на элементах управления и проверяю, происходит ли пересечение (или локализация точек). Тогда просто получите первый элемент управления, который ударил.

Пожалуйста, скажите мне, если вы нашли лучшее решение, потому что я ищу идеи лучше, чем то, что я уже сделал! Благодаря.

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