我有一个简单的WPF应用程序,其中用户能够最小化我的应用程序窗口。
在用户从最小化状态恢复窗口后,我需要将焦点设置到特定的TextBox。
如果用户在最小化窗口之前没有改变焦点,那么在恢复应用程序后一切正常。
但当用户改变了关注点时,问题就来了。
我的窗口已经激活了事件处理程序。代码如下:
private void Window_Activated(object sender, EventArgs e)
{
if (isFullView)
tbSearch.Focus();
else
tbSearch2.Focus();
}
窗口从最小化状态还原后,将激发事件处理程序,但TextBox tbSearch不接收焦点。
我做错了什么吗?
谢谢!
发布于 2009-04-28 04:08:46
在不知道isFullView
设置的情况下很难说,但我可以告诉您,Focus()
设置的是逻辑焦点,而不是键盘焦点。如果该控件的焦点范围是活动焦点范围,则该控件将仅具有键盘焦点。
请阅读this article以了解更多关于WPF中焦点的信息。
发布于 2009-12-25 00:24:10
您需要识别prev。赢。状态。请参阅这篇文章的相关信息:http://blogs.microsoft.co.il/blogs/maxim/archive/2009/12/24/daily-tip-how-to-activate-minimized-window-form.aspx。
发布于 2009-05-05 13:24:46
请尝试确保在调用处理程序时TextBox是否可见。也许你有一些触发器或其他一些东西,在焦点设置之后才显示TextBox。
https://stackoverflow.com/questions/797512
复制相似问题