【发布时间】:2020-03-04 05:13:07
【问题描述】:
我正在关注此处显示的基本入门示例: https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/host-custom-control-with-xaml-islands
我已尽可能密切关注它。如果我将用户控件放入 UWP 应用程序(与示例不同),我可以让它工作,但不能像类库中的用户控件那样工作。
首先,当我按原样运行示例时,我得到: “面向 Windows 版本 10.0.18226.0 及更高版本的应用支持 WindowsXamlManager 和 DesktopWindowXamlSource。请检查应用程序清单或程序包清单并确保 MaxTestedVersion 属性已更新。”
我能找到的唯一解决方案是将清单文件添加到 wpf 项目中,其中包含:
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 10 -->
<maxversiontested Id="10.0.18362.0"/>
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
</assembly>
之后,我没有看到该错误,但是当 wpf 表单加载时,我看到“无法创建 ClassLibrary1.MyUserControl1 类型的控件”,但没有任何线索说明原因。
任何人都知道我做错了什么,如何找出问题所在知道任何有效的例子?
【问题讨论】:
-
虽然我已经在配置管理器中为所有项目设置了 x64,但我的解决方案平台仍然设置为“任何 cpu”。我将其更改为 x64,现在遇到了另一个问题,在 this.InitializeComponent, "Windows.UI.Xaml.Markup.XamlParseException: 'XAML parsing failed.' "
-
您好,我测试了官方文档的内容,并构建了一个XamlIsland WPF应用程序进行测试。即使我没有在 WPF 项目中设置
MaxTestedVersion,它仍然可以正常工作。您可以查看您创建的 WPF 项目是否基于 .Net Core 3 以及您创建的 UWP 项目和 UWP 类库的最低版本是否为 1903(18362)。如果一切正常,请提供更多代码(例如如何创建自定义 UserControl)以便我们进行测试。 -
谢谢,我在这里上传了我的尝试:belchamber.net/wpfapp1.zip 抱歉,如果我做了什么太愚蠢的事情
标签: xaml uwp windows-10-universal