WPF 关于ShowDialog后主窗体依然能响应键盘输入法的解决方案。

后台代码:

1 private static bool boolean = true;
2
3 public static bool Boolean
4 {
5 get { return MainWindow.boolean; }
6 set { MainWindow.boolean = value; }
7 }
8
9 private void errorBtn_Click(object sender, RoutedEventArgs e)
10 {
11 dialogWindow.Title = "Error";
12 dialogWindow = new DialogWindow(dialogWindow.Title);
13 window.IsEnabled = false;
14 boolean = false;
15 dialogWindow.ShowDialog();
16 }
17
18 private void window_Activated(object sender, EventArgs e)
19 {
20 if (boolean == true)
21 {
22 window.IsEnabled = true;
23 }
24 }

弹出窗体后台代码:

1 public DialogWindow()
2 {
3 InitializeComponent();
4
5 }
6
7 public DialogWindow(string _title):this()
8 {
9 Title = _title;
10 DialogPage page = new DialogPage(Title);
11 windowframe.Content = page;
12 }
13
14 protected override void OnClosing(CancelEventArgs e)
15 {
16 e.Cancel = true;
17 base.OnClosing(e);
18 Visibility = Visibility.Hidden;
19 }
20
21 private void Window_Closing(object sender, CancelEventArgs e)
22 {
23 MainWindow.Boolean = true;
24 }
原文地址:https://www.cnblogs.com/midcn/p/2017504.html