WindowsFormsHost中的自定义WinForm用户控件无法正确聚焦

时间:2015-04-01 19:50:03

标签: c# wpf winforms focus

我的WPF项目包含一个视图(UserControl),该视图包含一个包含自定义WinForm UserControl的WindowsFormHost。

当我导航到此视图时,我希望将键盘焦点直接放入WinForm中,但我必须单击它才能获得控件(这不是预期的行为)。

我已经调查了Snoop,它是我的Windows包含焦点,当我点击winForm获得焦点时。我尝试了很多不同的东西,但现在这个代码似乎工作,但只是第一次。如果我导航到菜单并返回游戏,代码仍会被触发,但焦点方法没有效果。

如何在不点击它的情况下获得对WinForm控件的关注(并且每次都不需要重新创建视图)?



private void GameControl_OnGameReady(object sender, EventArgs e)
{
     if (!this.Dispatcher.HasShutdownStarted)
          this.Dispatcher.Invoke(() =>
          {
               for (int i = 0; i < 5; ++i)
               {
                   this.Host.Focus();
                   this.Host.TabInto(new TraversalRequest(FocusNavigationDirection.First));
                   this.Host.Child.Focus();
                   Console.WriteLine("TEST");
               }
                    
          });
}
&#13;
&#13;
&#13;

OnGameReady是我在OpenGL和winform中的所有内容初始化时触发的自定义事件。 (这意味着我们可以画)

0 个答案:

没有答案