在窗口之间移动焦点时如何避免窗口闪烁?

时间:2016-05-29 17:25:29

标签: c# wpf xaml

在WPF中将焦点从一个窗口移动到另一个窗口时,我正面临着窗口闪烁。例如,考虑两个名为Front和Back窗口的窗口。在后窗中保留了两个控件文本框和按钮。当我点击按钮时,我将焦点移动到前窗,然后立即将焦点移动到后窗​​中的文本框,此时后窗闪烁。下面的代码是Back window的Button click事件。

private void FocusFrontWindow_Click(object sender, RoutedEventArgs e)
    {
        if (frontWindow == null)
        {
            frontWindow = new FrontWindow();
            frontWindow.Show();
        }
        Dispatcher.BeginInvoke(new Action(() => frontWindow.Focus()), DispatcherPriority.ContextIdle);
        Dispatcher.BeginInvoke(new Action(() => BackWindowTextBox.Focus()), DispatcherPriority.ContextIdle);

    }

如何避免这种闪烁?有什么想法请与我分享。

0 个答案:

没有答案