在我的应用程序中,在WindowsFormsHost中添加我的控件(WF)并在Window(WPF)中添加此主机。
//authors[contains(text(),' C List, RE Goodin ')]
查询: 现在我需要得到" testWindow"的Handle值。来自" grid" (在WF项目中不是WPF)来捕获testWindow的图像。
我已经尝试了#34; grid.Parent作为WinFormsAdapter",但它是内部类。我找到了以下文章,但它们都在WPF项目中显示。
请有人建议我如何实现这个目标吗?
谢谢,
答案 0 :(得分:1)
尝试此操作以从WindowsFormsHost
获取grid
。完成后,您可以尝试前往WindowsFormsHost
的父级。
Control parent = grid.Parent;
Reflection.Assembly adapterAssembly = GetType(WindowsFormsHost).Assembly;
Type adapterType = adapterAssembly.GetType("System.Windows.Forms.Integration.WinFormsAdapter");
object adapterParent = adapterType.InvokeMember("_host", BindingFlags.NonPublic |BindingFlags.GetField | BindingFlags.Instance, null, adapter, new object[] {});
WindowsFormsHost winHost = adapterParent as WindowsFormsHost;
请注意上面的代码未经过测试,但它可以帮助您,并希望指导您实现最终目标。