有一个应用程序由两部分组成-WPF用户界面和带有数学和OpenGL图形的C++动态链接库。WPF用户界面中有一个带有Windows窗体标签的WindowsFormsHost。标签的句柄用于使用OpenGL绘制图形。现在,应用程序应该是跨平台的。作为用户界面的一部分,Avalonia是一个很好的选择,但不幸的是,我没有找到是否有可能在Avalonia窗口中嵌入一个具有本机句柄的窗口?是否有类似WPF的WindowsFormshost或其他控件?
oxosxuxt1#
我已经找到了解决方案:1.应创建从NativeControlHost继承的类。1.应覆盖CreateNativeControlCore函数;1.在该函数中应放置以下代码:Var piHandle=base.CreateNativeControlCore(父级);//这是句柄M_Handle=piHandle.Handle;结果,将创建一个句柄为m_Handle的窗口。
1条答案
按热度按时间oxosxuxt1#
我已经找到了解决方案:
1.应创建从NativeControlHost继承的类。
1.应覆盖CreateNativeControlCore函数;
1.在该函数中应放置以下代码:
Var piHandle=base.CreateNativeControlCore(父级);
//这是句柄
M_Handle=piHandle.Handle;
结果,将创建一个句柄为m_Handle的窗口。