【问题标题】:How to add XamlHost to WPF project?如何将 XamlHost 添加到 WPF 项目?
【发布时间】:2020-11-24 14:53:50
【问题描述】:

基于this 问题,我将我的 WPF 项目(目标为 .NET Framework)迁移到目标 .NET Core 3.1。理论上,此步骤将允许使用 Microsoft.Toolkit.Wpf.UI.XamlHost 在我的 WPF 应用程序中托管 Windows 10 控件。

我创建了一个以 .NET Core 为目标的新 WPF 项目,并将源代码移至这个新项目并解决了所有依赖问题。

当我通过 Nuget 包管理器安装 Microsoft.Toolkit.Wpf.UI.XamlHost 库 (6.1.2) 时(仅在 .csproj 文件中添加了以下行:<PackageReference Include="Microsoft.Toolkit.Wpf.UI.XamlHost" Version="6.1.2" />),项目可以编译但无法运行。它显示以下错误消息:

当我删除了库依赖后,项目又开始了……

我认为问题不在于清单文件,因为它没有改变。那么可能是什么问题?从哪里开始搜索呢?也许与其他依赖项之一?我在哪里可以找到该应用程序事件日志? (我搜索了很多,但没有找到)。

我尝试了sample app,它工作正常,所以可能有什么东西干扰了我的项目中的XamlHost

【问题讨论】:

    标签: c# wpf xaml-islands


    【解决方案1】:

    最后我可以添加XamlHost。冲突与清单文件中的 Dpi 感知设置有关。删除了以下几行:

    <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    

    基于this 问题,dpi 感知应设置为PerMonitorV2 以便能够将应用程序提交到商店。现在我不得不删除它,因为它与 XamlHost 冲突。

    我想知道是否可以通过此修改发布应用程序...

    【讨论】:

      猜你喜欢
      • 2020-06-22
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2013-07-16
      • 2013-03-29
      • 2011-10-18
      相关资源
      最近更新 更多