从Winforms应用程序打开WPF窗口时,EnableModelessKeyboardInterop或WindowInteropHelper

时间:2013-05-01 15:22:36

标签: wpf vb.net winforms interop

我有一个winforms应用程序打开一个wpf窗口。我使用了以下两种方法:

System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(window)

Dim helper As System.Windows.Interop.WindowInteropHelper = New System.Windows.Interop.WindowInteropHelper(window)
helper.Owner = Me.Handle

我选择使用第二种方法,因为应用程序在随机情况下将无法显示wpf窗口的内容,甚至会使其崩溃。这将发生在xp或7的不同环境(32/64)中,不幸的是,我无法在开发中重现它。此窗口仅使用数据网格,通过按钮控件完成一些交互。无论如何,通过切换到第二种方法,它似乎完全纠正了这个问题。这个bug现在已经好几个月了。但是,现在我正在向此窗口添加一个文本框控件,并注意到它不允许文本输入,只允许空格。如果我切换回原始方法,它可以工作,但我担心问题会再次出现在生产中。有人曾经遇到过这个问题吗?任何建议将不胜感激!

0 个答案:

没有答案