如何在 WPF 中始终保持 1 个 texbox 的焦点?

Jack J Jun 24,516 信誉分 Microsoft 供应商
2024-01-30T08:37:07.2033333+00:00

我有一个应用程序,它有很多 UI 控件,将与鼠标和 1 个搜索框一起使用。我希望在任何时候都允许用户输入数字,而不必担心首先单击texbox。
你怎么能做到这一点?
会路由事件吗?在这种情况下,我必须将 keydown 或 keyup 事件路由到更高的 lvl 父级上,然后将其重新发送到文本框?这是要走的路吗?或者有没有其他方法可以将焦点固定在元素上? Note:此问题总结整理于:How to keep 1 texbox focused at all times in a WPF? - Microsoft Q&A

Windows Presentation Foundation
Windows Presentation Foundation
.NET Framework 的一部分,它提供统一的编程模型,用于在 Windows 上构建业务线桌面应用程序。
128 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
    2024-01-30T09:06:47.5233333+00:00

    您好,您可以尝试使用以下代码使焦点始终位于 TextBox 上。

    xaml 的代码:

    
    <StackPanel >  
            <TextBox Name="textBox1" Focusable="True" FontSize="36"  Height="70">hi</TextBox>  
            <Button Click="Button_Click" Height="60" FontSize="28">click</Button>  
     </StackPanel>  
    
    

    xaml.cs 的代码:

    
    public partial class MainWindow : Window  
      {  
        public MainWindow()  
        {  
          InitializeComponent();  
        }  
         
        private void Button_Click(object sender, RoutedEventArgs e)  
        {  
          MessageBox.Show("clicked");  
        }  
      
        private void Window_GotFocus(object sender, RoutedEventArgs e)  
        {  
          textBox1.Focus();  
        }  
      }  
    
    
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。