使用NavigationService时为什么我的URI搞砸了?

时间:2011-02-24 14:50:38

标签: wpf navigation uri

“简单”的情况:

Assembly1包含:

  • 几个WPF页面(.xaml)

调用程序集包含:

  • 带有ElementHost
  • 的WinForm
  • ElementHost包含一个具有单个Frame(= MainFrame)的WPF UserControl

WinForm使用MainFrame中的NavigationService导航到绝对Uri,如下所示:

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

显示导航页面,直到现在都很好。现在,当我查看NavigationService.CurrentSource(当前加载的页面的Uri)时,它看起来像这样:

Messed up Uri

各种异常......还有一点奇怪的是,属性IsRelativeTrue,而OriginalString属性是:“/Assembly1; component / Page1.xaml” 。整个“包装部分”丢失了。因此,当再次使用Uri(我想要的)会导致错误,因为这个Uri不再给我一个正确的路径。

我是否错过了WPF中NavigationModel的一些重要部分?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我选择的解决方案是拿起

  

NavigationService.CurrentSource

再次粘贴“pack-part”。然后再次使用它进行导航。