Silverlight 4 - загрузка данных в подсказку с картами Bing - PullRequest
1 голос
/ 17 июня 2011

Я добавляю канал синдикации (RSS) в приложение карт Bing, где данные загружаются и заполняются при наведении мыши на событие.Загрузка происходит очень быстро, но, конечно, она должна загружаться асинхронно, что означает, что пользователь не увидит всплывающую подсказку, пока в следующий раз не наведет курсор мыши на эту подсказку.Я знаю, что по соображениям безопасности я не обязательно должен быть в состоянии эмулировать событие наведения мыши, но я знаю, что есть другие вещи, такие как это, где есть обходной путь (например, если пользователь входит в систему и вводит своиимя пользователя и пароль - есть обходной путь, чтобы они могли нажимать «ENTER» без фокусировки на кнопке «Войти / Отправить»).

Итак, сначала мне интересно, есть ли обходной путь и, если нет ... есть либолее простой способ сделать это, чем эмулировать синхронную загрузку через сопрограммы (стоит отметить: MVVM не может использоваться здесь из-за характера модели - Кроме того, каждый вывод имеет свою собственную подсказку, а неодна подсказка, где позиция будет определяться при наведении курсора мыши через MapLayer.SetPosition)

Спасибо!

1 Ответ

0 голосов
/ 18 июня 2011

понял - просто прикрепите логическое свойство к событию ввода мыши и убедитесь, что мышь все еще находится над элементом, предоставляющим подсказку - при вводе мыши установите для мыши значение оставляемого bool равным false, а свойство IsOpen для подсказки -ложный.Когда загрузка завершится - привяжите свой DataContext к объекту с соответствующими данными (или как бы вы этого не хотели), а затем, если при выходе из мыши bool по-прежнему равен false, установите свойство IsOpen = true

...