如何解决是否可以使用 XAML 岛和 WindowsXamlHost 在 WPF 中包含自定义 C++\WinRT UWP 控件?
我有一个 WPF 应用程序,它太繁重,无法在 UWP 中批量重写。某些 UWP 控件将使用 SwapChainPanel
,因此使用 C++/WinRT 来管理 DirectX。为了确定在 UWP 中实现部分应用程序并将它们包含在 WPF 中的可行性,我在 minimal sample app 之后做了一个 Microsoft documentation,试图在面向 .NET Core 3.1 的 WPF 应用程序中组合 UWP 控件。>
<Window x:Class="WpfAppCore3._1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xh="clr-namespace:Microsoft.Toolkit.Wpf.UI.XamlHost;assembly=Microsoft.Toolkit.Wpf.UI.XamlHost"
Title="WPF App"
Height="500"
Width="800">
<StackPanel>
<xh:WindowsXamlHost InitialTypeName="UwpLib.ManagedGrid"
Height="225" />
<xh:WindowsXamlHost InitialTypeName="UwpLibNative.NativeGrid"
Height="225" />
</StackPanel>
</Window>
这对于 UwpLib.ManagedGrid
这样的托管控件非常有用,但 UwpLibNative.NativeGrid
无法加载:
调试器显示异常:
System.BadImageFormatException: 'Bad IL format.'
该异常向我表明了构建配置问题,但我认为应用程序在这方面设置正确。这在今天的 XAML Islands 中是不可能实现的,还是我在示例应用中犯了一些配置错误?
更新 1:
我发现了 "Windows Desktop Compatible" option 并确保将其设置为“是”。没有变化。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。