Frame.Navigate到不同程序集中的XAML页面[WinRT]

时间:2015-06-08 07:03:18

标签: c# .net windows-phone-8.1 winrt-xaml

我有这些文件。

" Control.cs" [这有方法activateabc()]和" abc.xaml"在程序集(创建为类库)中,我已在我的工作项目(Windows Phone 8.1运行时应用程序)中引用它。我已经添加了 Frame.Navigate(typeof(abc))activateabc(),当我从工作项目调用activateabc()时,它会抛出XAMLPARSEEXCEPTION。

任何想法如何导航到另一个程序集中的XAML页面?此外,我的任何装配名称中都没有任何点或夸大或下划线。

编辑:NavigationService.Naivage()在Windows Phone 8中可用于执行此任务。但是,Frame.Navigate()允许导航到类型而不是WP8中的URI。那么请告诉我如何在 Windows Phone 8.1运行时应用程序

中导航到不同程序集中的XAML页面

1 个答案:

答案 0 :(得分:0)

您能提供更多信息吗?我没有答案,但我确实有一些可能有帮助的其他信息。

你知道它是否无法解析xaml标记,或者它是否真的未能找到abc.xaml文件?我敢打赌这是真正的问题。如果找不到该文件,则可能需要修改xaml文件Uri以包含程序集名称。我不知道如何覆盖页面的默认文件加载位置,因为该代码生成但是Uri看起来像这样。

如果您的程序集是MyCustomControls.dll,那么Uri将是新的Uri(“ms-appx:///MyCustomControls/abc.xaml”)。

如果找到你的xaml文件但是某些标记失败,你可能会尝试注释掉所有标记,直到没有加载失败,然后逐位注释它,直到你发现哪个标记位似乎是问题。它可能是应用程序的xamltypeinfo.g.cs中的一些名称空间解析问题。我怀疑这是问题,因为你说你添加了程序集作为参考。

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