Я собираюсь выдвинуть необычную корпоративную цитату и сказать: «Это особенность, а не ошибка».
Команда Silverlight, очевидно, беспокоится о безопасности.Они не хотят, чтобы сумасшедший хакшор, как вы и я, делал с нашими приложениями какие-то сумасшедшие вещи - вы знаете, как всплывающие окна браузера, все перенаправляющие людей на Zombo.com.Представьте себе хор! Zombo!
Суммировано из их документации: Они хотят, чтобы мы использовали только HyperlinkButton, чтобы выйти за пределы их приложения.Фактически, они пошли на дополнительный шаг , и, в зависимости от наших настроек, они даже сгенерируют для нас исключение SecurityException, если мы перейдем на внешнюю страницу - даже из HyperlinkButton.Как хорошо.
Реальный вопрос: почему кнопка гиперссылки, а не что-то еще?
Только одна «вещь» может перемещаться.Это экономит время Microsoft при тестировании Silverlight.Это одна вещь, которая может перемещаться как на внутренние страницы XAML, так и на внешние веб-страницы - она также может быть последовательной и иметь только один способ навигации.
Это элемент UIElement.Это код, который любит запускать в основном визуальном потоке.Он может пообещать браузеру, что визуальный элемент хочет куда-то пойти.Microsoft также может поместить свою ограничивающую логику в элемент управления, который требует дерева событий щелчка мышью / ввода с клавиатуры.
В общем, имеет смысл начать с простого, заставив работать элемент управления.
Прикольные вещи!Надеюсь, это поможет вам.