gpt4 book ai didi

c# - Frame.Navigate to a XAML Page in different assembly [WinRT]

转载 作者:太空狗 更新时间:2023-10-29 23:50:36 24 4
gpt4 key购买 nike

我有这些文件。

程序集中的“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 页面的方法

最佳答案

能否提供更多信息?我没有答案,但我确实有一些可能有帮助的额外信息。

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

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

如果找到您的 xaml 文件,但某些标记失败,您可能会尝试注释掉所有标记,直到没有加载失败,然后逐位将其重新注释,直到您确定哪位标记似乎是问题所在。这可能是应用程序的 xamltypeinfo.g.cs 中的一些命名空间解析问题。我怀疑这是问题所在,因为您说您添加了程序集作为引用。

希望上面的一些信息对你有用。

关于c# - Frame.Navigate to a XAML Page in different assembly [WinRT],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30702976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com