2011-02-24 45 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

,並再次粘貼在它前面的「包部分」。然後再次使用它進行導航。