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

时间:2011-05-03 12:21:04

标签: wpf excel textbox .net-3.5

我从WinForms窗口启动的WPF表单显示了所有文本框 作为无模式对话框启动时不可编辑。我用了 ElementHost.EnableModelessKeyboardInterop解决这个问题&它在那里工作。

我也是从MS Excel打开相同的WPF UI作为加载项。 EnableModelessKeyboardInterop黑客在那里不起作用。每当我尝试 编辑我的WPF文本框,焦点转移到Excel和键盘输入 在Excel上而不是在我的WPF文本框上呈现。关于如何解决这个问题的任何想法?

P.S。 - 这是我之前关于SO的问题的继续:WPF modeless dialog renders textbox uneditable

1 个答案:

答案 0 :(得分:8)

通过此链接提供解决方案:Running WPF Application with Multiple UI Threads

         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();