2015-06-08 54 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中的一些名称空间解析问题。我怀疑这是个问题,虽然你说你把程序集作为参考。

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