WPF Telerik 控件在 WinForms 中托管应用程序时消失

WPF Telerik Controls disappear while hosting application in WinForms

主要应用程序是在.NET Framework 4.8 和WinForms 中开发的。 我尝试托管的子应用程序也是 .NET Framework 4.8 WPF 应用程序。 每个视图都是一个用户控件,这样宿主理论上就可以显示它。有一次显示了控件,但只显示了一些控件。添加的主题也无法显示。

WinForms 应用程序尚未准备好更新到 .NET Core 甚至 .NET 5。

为了托管 WPF 应用程序,我在 WinForms 中使用 WPF 主机控件。问题是,在 WinForms 应用程序中托管时,可以显示“本机”WPF 控件并且 Telerik 控件消失。 如果我独立启动 WPF 应用程序,所有内容都会显示并可以使用。

我在两个项目上都安装了 NuGet 包。

WPF 应用程序

WinForms 应用程序

在上面的例子中可以看到,底部的框是可以显示的。其他一切都不存在。代码正在编译,我可以从视图初始化逐步执行代码隐藏。

我联系了对我帮助很大的 Telerik 支持。 所以问题是基于这样一个事实,即来自 Telerik 的每个 NuGet 包都有两个“版本”。 NOXAML 和一个 XAML 程序集。 Telerik 直接警告不要在一个项目中混合使用 NOXAML 和 XAML 程序集。 XAML 程序集包括样式和所有内容,而 NOXAML 则不包括。这意味着与 XAML 个组件相比,NOXAML 个组件更轻更小。

如果您 运行 在 运行 时遇到视觉问题,请检查您是否混合使用这些装配类型并决定只使用其中一种!

另见 Telerik Documentation

我希望这个 post 对以后的人有所帮助 :D