来自MS Excel加载项的WPF无模式对话框

ali*_*fer 8 wpf excel textbox .net-3.5

我从WinForms窗口启动的WPF表单显示,当作为无模式对话框启动时,所有文本框都是不可编辑的.我曾经 ElementHost.EnableModelessKeyboardInterop解决过这个问题并在那里工作.

我也从MS Excel打开相同的WPF UI作为加载项.该EnableModelessKeyboardInterop黑客并没有在那里工作.每当我尝试编辑WPF文本框时,焦点都会转移到Excel,键盘输入将在Excel上呈现,而不是在我的WPF文本框上呈现.有想法该怎么解决这个吗?

PS - 这是我之前关于SO的问题的继续:WPF无模式对话框呈现文本框不可编辑

ali*_*fer 8

通过以下链接解决了这个问题:使用多个UI线程运行WPF应用程序

         var thread = new Thread(() =>
            {
                var wpfWindow = new WPFWindow();
                wpfWindow.Show();
                wpfWindow.Closed += (sender2, e2) => wpfWindow.Dispatcher.InvokeShutdown();

                Dispatcher.Run();
            });

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
Run Code Online (Sandbox Code Playgroud)