Почему мой URI портится при использовании NavigationService? - PullRequest
0 голосов
/ 24 февраля 2011

«Простая» ситуация:

Assembly1 содержит:

  • Пара страниц WPF (.xaml)

Вызывающая сборка содержит:

  • WinForm с ElementHost
  • ElementHost содержит WPF UserControl, который имеет один кадр (= MainFrame)

WinForm использует NavigationService из MainFrame для перехода к абсолютному Uri следующим образом:

NavigationService.Navigate(new Uri("pack://application:,,,/Assembly1;component/Page1.xaml", UriKind.Absolute);

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

Messed up Uri

Все виды исключений ... И еще странно, что свойство IsRelative равно True, а свойство OriginalString гласит: "/Assembly1;component/Page1.xaml". Вся "часть пакета" потеряна. Поэтому при повторном использовании Uri (что мне хотелось бы) возникают ошибки, поскольку этот Uri больше не дает мне правильный путь.

Мне не хватает какой-то важной части NavigationModel в WPF? Любая помощь будет оценена!

1 Ответ

0 голосов
/ 10 мая 2011

Что я выбрал в качестве решения, это взять

NavigationService.CurrentSource

и снова вставьте "пакет" перед ним. Затем снова используйте его для навигации.

...