繁体   English   中英

在WPF TabControl中托管外部应用程序

[英]Host External Application in WPF TabControl

我已经设法创建了一个示例项目,该项目使用HwndHost在C#WPF选项卡控件中托管记事本( 不是我的真实项目将嵌入的内容 )。 对此,非常感谢那些在WPF窗口中回复托管外部应用程序的人顺便说一下,不需要DwayneNeed

此示例非常有效,直到您单击记事本的托管实例, 然后尝试更改选项卡 如果您导航到的新页面中没有任何内容,则必须先单击当前页面选择器,然后才能接受其他选项卡上的单击。 如果您在其他页面上有内容(任何内容......只是一个按钮),那么您将被迫单击新选项卡选择器TWICE以使其导航。

我试过的东西不起作用:

  • 使用AttachThreadInput()连接两个应用程序窗口的输入线程。
  • 调用this.InvalidateVisual(); 在Tab Control鼠标按下事件上。

诀窍是什么:

  • 以编程方式将TabControl.SelectedIndex值更改为按下按钮时所需的值。

为了解决这个问题,我想我将不得不在Tab选择器的位置使用按钮(使它们不可见)并且只是以编程方式更改页面。 这不是什么大问题,但我想知道是否有其他人遇到过这个问题,并且可能有一个解释!

ps我是WPF和C#的新手。

您托管的记事本应用程序是另一个窗口,因此如果焦点在记事本中 - 首先单击选项卡选择器激活您的WPF窗口并使其聚焦,而不是第二个cick执行您想要执行的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM