我想在应用程序中使用 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/