2011-02-24 60 views
0

一个 “简单” 的情况:为什么我的URI在使用NavigationService的时候搞砸了?

Assembly1包含:

  • 一对夫妇WPF页面(的.xaml)的

调用组件包括:

  • 有一个WinForm ElementHost
  • ElementHost包含一个WPF UserControl具有单个帧(=大型机)

在WinForm使用NavigationService从主机导航到绝对URI在一个这样的:

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

导航中页,所有细直到现在。现在,当我看NavigationService.CurrentSource(这是currenlty加载页面的URI),它看起来像这样:

Messed up Uri

所有类型的异常......什么也奇怪的是,物业IsRelativeTrueOriginalString属性状态:“/Assembly1;component/Page1.xaml”。整个“包装零件”丢失。所以当再次使用Uri时(我想要的)会导致错误,因为这个Uri不再给我一个正确的路径。

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

+0

Quote:“所以当再次使用Uri(我想要的)导致错误,因为这个Uri不给我一个正确的路径了” - >似乎不正确,这仍然有效。对我来说,看起来很奇怪,Uri看起来很乱。 – 2011-02-24 15:11:57

回答

0

我选择什么样的解决方法是拿起

NavigationService.CurrentSource

,并再次粘贴在它前面的“包部分”。然后再次使用它进行导航。