我正在尝试在一系列演示文稿更改期间提供特定的控制键盘焦点。假设控件处于隐藏的可见性状态。在函数调用中,我可以将其可见性更改为可见,将键盘焦点设置在它上面没有问题。但是,如果控件设置为折叠的可见性,并且我尝试将可见性设置回可见,然后将焦点设置在它上面,它不会发生。
是否有一个过程可以让控件从折叠状态移动到可见状态并获得键盘焦点?
最佳答案
这可能是一个计时问题,您设置为可见的控件尚未准备好接受焦点。在处理动态 UI 更改时,这种情况可能会经常发生。
您应该仍然能够聚焦您的控件,但您需要将聚焦操作排入队列,直到控件正确初始化之后。只需使用如下所示的 BeginInvoke 调用,就可以解决问题。
Dispatcher.BeginInvoke(() =>
{
//Set focus here
});
关于c# - WPF,将键盘焦点提供给以前折叠的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17846271/