我在用户控件内有文本框,并使用以下 XAML 将用户控件添加到 MainWindow:
<Views:MyUserControl />
我的 MyUserControl 中有一个文本框,问题是该文本框不接受任何输入。退格键和空格有效,但如果我按字母和数字,则文本框中不会添加任何文本。
我已确保文本不仅仅隐藏在文本框中。
我还尝试将 RichTextBox 添加到用户控件,结果相同,它不需要任何输入(除了空格和退格键之外)。
我还尝试向主窗口添加一个文本框,结果相同;它不需要任何输入(除了空格和退格键)。
MyUserControl 也被添加到 TabControl 和 TabItem 中。
有什么线索吗?
编辑:附加信息
忘记写我正在从 WinForm 应用程序打开/创建 WPF 窗口。
当我将 VS10 中的启动项目设置为我的 WPF 项目时,它可以很好地配合文本框的键盘输入。
怎么会?
我使用以下代码打开/创建我的 WPF 窗口:
MyWpfProject.MainWindow mw = new MyWpfProject.MainWindow();
mw.Show();
编辑:解决方案
所以我想我真正的问题是从 WinForms 应用程序打开 WPf 项目。
我添加了以下代码:
MyWpfProject.MainWindow mw = new MyWpfProject.MainWindow();
ElementHost.EnableModelessKeyboardInterop(mw);
mw.Show();
“如果从 WinForms 等非 WPF 主机加载,则需要调用 EnableModelessKeyboardInterop() 来处理 WPF 窗口中的键盘输入。”http://weblogs.asp.net/jdanforth/archive/2008/07/29/open-a-wpf-window-from-winforms.aspx http://weblogs.asp.net/jdanforth/archive/2008/07/29/open-a-wpf-window-from-winforms.aspx