2015-06-08 59 views
5

我有這些文件。在我的工作項目(Windows Phone 8.1運行時應用程序)中,我在程序集中創建了「Control.cs」[這個方法有activateabc()]和「abc.xaml」。我在activateabc()內添加了 Frame.Navigate(typeof(abc)),當我從工作項目調用activateabc()時,它會引發XAMLPARSEEXCEPTION。Frame.Navigate to XAML Page in different assembly [WinRT]

任何想法如何導航到另一個程序集中的XAML頁面?此外,我的任何組合名稱中都沒有點或超出或下劃線。

編輯:NavigationService.Naivage()可用於Windows Phone 8來完成這項工作。但是,Frame.Navigate()允許導航到類型而不是WP8中的URI。所以請告訴我一種方法如何導航到不同程序集中的XAML頁面Windows Phone 8.1運行時應用程序

+0

http://stackoverflow.com/questions/20420182/how-to-navigate-to-another-project-inside-same-solution – Marshal

+0

NavigationService.Navigate在WIndows Phone 8上工作。它在WIndows Phone 8.1中已被棄用並由Frame.Navigate()取代。我的問題是** Windows Phone 8.1 ** – Christopher

+0

我覺得這個人有[完全相同的問題](http://stackoverflow.com/questions/28071841/frame-navigate-to-a-page-derived-class-在不同的程序集)不幸的是沒有解決。也許你可以稍後籌集獎金 – Marshal

回答

0

您能提供更多信息嗎?我沒有答案,但我確實有一些可能有用的附加信息。

您是否知道它是否無法解析xaml標記,或者確實無法找到abc.xaml文件?我敢打賭這是真正的問題。如果無法找到該文件,則可能需要修改xaml文件Uri以包含程序集名稱。我不知道如何覆蓋頁面的默認文件加載位置,因爲該代碼已生成,但Uri看起來像這樣。

如果你的程序集是MyCustomControls.dll,那麼Uri會是新的Uri(「ms-appx:///MyCustomControls/abc.xaml」)。

如果發現您的XAML文件,但一些標記失敗,你可以嘗試註釋掉的所有標記,直到沒有加載失敗再由比特評論它,直至您找出是哪個標記位似乎是問題。這可能是應用程序的xamltypeinfo.g.cs中的一些名稱空間解析問題。我懷疑這是個問題,雖然你說你把程序集作爲參考。

我希望上面的一些信息是有用的。