45得票6回答
在WPF窗口中托管外部应用程序

我们正在开发一个 WPF 布局管理器,其中视口可以被用户移动/调整大小等。视口通常通过由我们在布局管理器中控制的提供程序填充数据(图片/电影等)。我的工作是检查是否也可能在视口中托管任何外部 Windows 应用程序(即记事本、计算器、Adobe Reader 等)。我遇到了一些问题。 大部...

22得票6回答
"{DependencyProperty.UnsetValue}"不是"FocusVisualStyle"属性的有效值。

我遇到了一个奇怪的错误,一直在尝试调试但没有成功。 我已经创建了子类hwndhost来显示一些内容,在该类中有以下函数以设置全屏: private void SetFullScreen(bool enable) { if (enable) { ...

12得票3回答
如何将Win32鼠标消息转换为WPF鼠标事件?

我有一个Win32(OpenGL)控件需要嵌入到我们的WPF应用程序中。它必须响应并传播鼠标和键盘事件。 我创建了一个HwndHost派生实例来承载本地窗口,并覆盖了该类中的WndProc函数。为了将win32消息传播到WPF,我处理特定的鼠标消息并将它们映射到WPF事件,然后使用静态Inp...

9得票2回答
如果窗口包含HwndHost元素,则自定义的dwm绘制窗口框架在调整大小时会闪烁

我已经思考了几天,但我认为我缺乏一些关于Windows和WPF内部工作的基本理解来解决这个问题。 问题在于: 我创建了一个窗口,应该让我在Aero标题栏上绘制wpf控件(就像office一样)。只要我不向窗口添加Hwndhost元素,它就可以正常工作。但是,一旦我添加了Hwndhost元素...

8得票1回答
将输入事件从HwndHost传递到底层的WPF控件?

是否有办法将发生在HwndHost上的输入事件(主要是鼠标,但最终也包括键盘输入)传递回底层的WPF控件(例如一个面板)?我可以连接到HwndHost内的WndProc并接收Windows消息。 我能否手动创建一个路由事件,用于鼠标点击,并将其发送给父级,以便它冒泡? 任何想法都会受到赞赏。 ...