Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 窗口设置焦点_C#_.net_Wpf_Window_Setfocus - Fatal编程技术网

C# 窗口设置焦点

C# 窗口设置焦点,c#,.net,wpf,window,setfocus,C#,.net,Wpf,Window,Setfocus,我有一个WPF窗口,我只创建一次,然后多次显示()和隐藏()。现在,我正在寻找一种方法,在每个Show()上设置元素的焦点。在何处以及如何执行此操作?只需对要聚焦的元素调用Element.Focus() 如果您的意思是将焦点带到窗口,请尝试调用window.Activate()在WPF中,焦点有两个主要概念:键盘焦点和逻辑焦点。键盘焦点是指接收键盘输入的元素,逻辑焦点是指焦点作用域中具有焦点的元素。这些概念将在概述中详细讨论 您可能可以编写自己的ShowHide方法,包括Window.Show/

我有一个WPF窗口,我只创建一次,然后多次显示()和隐藏()。现在,我正在寻找一种方法,在每个Show()上设置元素的焦点。在何处以及如何执行此操作?

只需对要聚焦的元素调用Element.Focus()


如果您的意思是将焦点带到窗口,请尝试调用window.Activate()

在WPF中,焦点有两个主要概念:键盘焦点和逻辑焦点。键盘焦点是指接收键盘输入的元素,逻辑焦点是指焦点作用域中具有焦点的元素。这些概念将在概述中详细讨论


您可能可以编写自己的ShowHide方法,包括Window.Show/Hide和element.Focus功能,以便在同一方法中处理这两个功能。

使用窗口的激活事件只是为了挑剔:这不是用户界面指南,但从用户体验来看,用户不喜欢弄乱他们设置的内容。例如,如果我将焦点设置为一个文本框,那么如果你隐藏并显示我希望仍在该文本框中的表单,则alt tab out将复制一些值。当然,您的问题可以从用户需求中得到启发。在这种情况下,请忘记一切:)