Управляйте пространством, где вы можете перемещать вещи (Silverlight)

StackOverflow https://stackoverflow.com/questions/4777173

  •  23-10-2019
  •  | 
  •  

Вопрос

Я думаю о лучшем способе управления «рабочим пространством» в моем приложении, где пользователь может перемещать вещи в этом пространстве и, например, может Pan.

Давайте представим, что у меня есть мой интерфейс приложения, с некоторыми кнопками вокруг, дерево и т. Д., А в середине холст с некоторыми виджетами, с которыми пользователь может двигаться и работать, и он мог бы поднять это пространство, чтобы двигаться в нем.

Для сковороды я подумал справиться с Mouseleftbuttondown в этом пространстве (который переключает логическое «ведущее» на True) и на MouseMove, чтобы применить перевод в пространство (от дельты между двумя событиями), пока я. Обнаруйте Mouseleftbuttonup, чтобы узнать, что он остановился (насыщено ложным). Проблема в том, что если пользователь «встал на кнопку мыши» не в самом пространстве (холст), я никогда не узнаю, что он выпустил мышь. Как лучше всего управлять тем фактом, что он может выпустить кастрюлю (или перетаскивание виджета), где бы в приложении?

Кто -нибудь уже управляет чем -то подобным и может мне помочь?

Это было полезно?

Решение

Вы должны позвонить Uilement.captureMouse На вашем холсте у мыши вниз. Это будет держать холст, получающий события мыши, даже если пользователь выходит за пределы региона.

На мыше, позвоните Releasemousecapture.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top