c++ - 仅 WPF 应用程序托管代码吗?

标签 c++ wpf unmanaged managed

我想在应用程序中使用 WPF。我想用 C++ 编写它。是否必须管理应用程序?我知道我可以混合管理和非管理。我想知道是否可以让整个应用程序不受管理。

最佳答案

您可以轻松地在非托管代码中开发 99% 的 WPF 应用程序,但要使其 100% 非托管是相当困难的。

WPF 类没有 Guid 属性,因此它们不能与 COM 一起使用。因此,使用 100% 非托管代码构建 Button 和 Window 等 WPF 对象需要非托管 CLR API 之一。 Hosting API可能是最简单的,但仍然需要大量工作。

如果您愿意接受 99% 的非托管代码,只需使用/clr 选项编译您的应用程序并使用 IJW 实例化 WPF 对象并调用 Application.LoadComponent 等方法。

另请注意,WPF 绑定(bind)到非托管对象要求这些对象完全支持 COM,包括 IDispatch。

关于c++ - 仅 WPF 应用程序托管代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3461805/

相关文章:

c++ - 向 vector 添加元素

C++ STL "Association Set/Map"

c# - child 用户控件中的 WPF 选项卡导航

c++ - 管理多个并发线程

c++ - Qt 的正则表达式 - indexIn(const QString &) 无法按预期工作

wpf - 进度条条样式右半径

水平排列其项目的 WPF ListBox

c# - 托管到非托管代码调用导致访问冲突......有时

c# - 什么是 WCF 服务名字对象?

windows - 如何 : Multiple versions of msvcrt9 as private SxS assemblies?