要知道不论什么UI库, 要想跟DirectX一起使用的话, 必须有一个HWND来指定绘制区域.
那么问题就来了: 怎么用WPF做一个DX的编辑工具?...因为绘制区域的半透明/变形之类的特性, 对于一个工具来说, 完全没有必要. WPF推出时, 也考虑到了向后兼容....在WPF中显示Win32控件, 可以使用HwndHost, 而对于WinForms, 可以使用WindowsFormsHost....在BuildWindowCore里创建一个Win32子窗口, 并把这个窗口的HWND做为DX初始化的参数. 如果需要改变大小, 还需要实现OnRenderSizeChanged....最完美的方式就是找到WPF的主循环, 问题是WPF有这东西么? 有待研究.
WPF的优势是什么? 控件多样性不如WinForms, 与C++的交互便利性不如MFC, 为什么还要使用它呢?