在我的WPF应用程序中,我使用一个小窗口来显示一些通知,但是当通知窗口出现时,主窗口中的焦点会丢失。 例如,当我在TextBox中写入并且我收到通知(通知窗口显示)时,文本框失去焦点,我必须再次单击文本框以继续我的工作。
那么当通知窗口显示时,如何保持主窗口的焦点?我已经尝试在notificationwindow中设置Focusable =“false”
答案 0 :(得分:1)
不是我怎么能阻止某些控件变得专注?,而不是如何在失去焦点后关注我的控件?现在,正如@AdrianFaciu所提到的,当你从你的问题中省略了所有相关信息时,很难详细说明。一种选择是在失去焦点时将焦点设置到控件上:
private void OnControlLostFocus(object sender, RoutedEventArgs e)
{
YourControlType control = sender as YourControlType;
if (control != null) control.Focus();
}
答案 1 :(得分:0)
Window对象上有一个ShowActivated属性,因此您可以在显示子窗口后激活主窗口。
来自MSDN:
当打开ShowActivated属性设置为false的窗口时,窗口不会被激活,并且在用户通过选择窗口手动激活窗口之前不会引发其Activated事件。