gpt4 book ai didi

xamarin - 如何解决异常 : Cannot create an instance of "WindowsPage"

转载 作者:行者123 更新时间:2023-12-01 04:56:10 24 4
gpt4 key购买 nike

此处是 Xamarin 表单的全新内容,并尝试使用该包开始跨平台应用程序开发。然而,刚一出门,我似乎就遇到了一个在其他地方被问过几次的问题,但我还没有真正看到实际的回应。目前,我正在尝试在可移植表单/PCL 设置中处理 UWP/通用 Windows/Windows 10 用户界面。

这是无法在 Microsoft Visual Studio 2015 Xaml 设计器中创建 WindowsPage 的实例错误消息。我正在关注 https://developer.xamarin.com/guides/xamarin-forms/platform-features/windows/installation/universal/ 上的指南所以我在将页面标记从 Page 更改为 forms:WindowsPage 之前为“xmlns:forms="using:Xamarin.Forms.Platform.UWP”添加了 xaml 文件的行,从而引用了 xamarin 表单包。我确实更新了所有 NuGet 包到最新版本。Xamarin 表单目前类似于 2.2。

我最初安装了 VS2015 Xamarin 包的默认值,我只是尝试使用包含的每个额外组件修改该安装,所以我认为我没有遗漏任何东西。我相信 Xamarin 已正确安装,因为它显示在“帮助”->“Xamarin”菜单中,我可以从 Xamarin 表单包中选择新的解决方案,但我不确定是什么原因导致了问题。

这是 XAML 代码

<forms:WindowsPage
x:Class="SoloPathfinderPCL.UWP.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:forms="using:Xamarin.Forms.Platform.UWP"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:SoloPathfinderPCL.UWP"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

</forms:WindowsPage>

这是我的异常堆栈跟踪:无法创建“WindowsPage”的实例。
at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.InstanceBuilderOperations.InstantiateType(Type type, Boolean supportInternal)
at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.ClrObjectInstanceBuilder.InstantiateTargetType(IInstanceBuilderContext context, ViewNode viewNode)
at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.ClrObjectInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode)
at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.InstanceBuilders.FrameworkElementInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode)
at Microsoft.VisualStudio.DesignTools.WindowsXamlDesigner.InstanceBuilders.UserControlInstanceBuilder.Instantiate(IInstanceBuilderContext context, ViewNode viewNode)
at Microsoft.VisualStudio.DesignTools.Platform.InstanceBuilders.ViewNodeManager.CreateInstance(IInstanceBuilder builder, ViewNode viewNode)

希望有人能指出我和其他所有人都在正确的方向上遇到这个问题。谢谢。

最佳答案

看起来这个问题来自 Xamarin Forms,根据 Xamarin Forms 目前不支持 Visual Studio 表单设计器,如果您转到 website它指出“注意:Xamarin.Forms 与预先存在的 XAML 视觉设计器不兼容。”。不幸的是你不能 简单地改变:

public partial class MainPage : ContentPage


public partial class MainPage : Page

这将破坏整个目的。您本质上所做的是从 WPF 而不是 Xamarin Forms 派生。 ContentPage 是 WPF 页面的 Xamarin Forms 版本。另一件要注意的事情是,即使您能够让设计器加载,您也不想使用“工具箱”中的任何控件,这些也仅适用于 WPF。如果您要使用任何 .Net 控件,它将在 Windows 下运行,但如果您尝试在不同平台下运行它,它会崩溃,因为 Xamarin Forms 最终将控件映射到 native 操作系统的控件以及Toolbox 仅适用于 Windows 操作系统。

关于xamarin - 如何解决异常 : Cannot create an instance of "WindowsPage",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37133629/

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