2009-07-03 108 views
1

我想在我的WPF自定义文档内容中将焦点设置为TextBox。我将所有可聚焦参数设置为true。但是,重点并不在于TextBox。任何想法或评论?WPF中的TextBox焦点问题

到目前为止,我已经添加了这些:

textbox.Focus(); 
textbox.SelectAll(); 

到我的WPF页面的构造函数。

TextBox处于Canvas一个DockPanel里面,所有的人都是一个custom:DocumentContent的一部分。

感谢您提前,

回答

6

看看this blog postMSDN Focus Overview文章。从你的问题,这听起来像你试图在构造函数中设置焦点。 UI元素尚未在此时创建。您应该在控件的加载事件期间设置焦点。

+0

您指出了一个非常重要的问题,即UI元素尚未在构造函数中创建。我也尝试过这个,但没有关注。现在我有另外一个问题了,如果我在构造函数和加载事件等不同的地方调用textbox.Focus(),甚至在XAML本身上调用它,这无关紧要吗?谢谢 private void Document_Loaded(object sender,RoutedEventArgs e) { textbox.Focusable = true; textbox.Focus(); } – paradisonoir 2009-07-06 20:18:45

1

这应该工作。检查textbox.Focus()是否返回true,它会告诉你,如果调用没有工作。另外,尝试从Window/Page的Loaded事件调用textbox.Focus()。