2012-04-01 2 views
1

Windows Phone 7.1 (Mang), SL4, VS 2010/Expression Blend.Перетаскивание в Windows Phone 7.1

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

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

ответ

1

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

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

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

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

+0

Я на самом деле не пробовал это, но это похоже на то, что я ищу. Ну, кроме того, что я понял, что мне не нужно то, о чем я просил, поскольку я получил дальнейшее развитие. Однако мне может понадобиться что-то еще. – Jeff

Смежные вопросы