Windows Presentation Foundation
.NET Framework 的一部分,它提供统一的编程模型,用于在 Windows 上构建业务线桌面应用程序。
128 个问题
我有一个应用程序,它有很多 UI 控件,将与鼠标和 1 个搜索框一起使用。我希望在任何时候都允许用户输入数字,而不必担心首先单击texbox。
你怎么能做到这一点?
会路由事件吗?在这种情况下,我必须将 keydown 或 keyup 事件路由到更高的 lvl 父级上,然后将其重新发送到文本框?这是要走的路吗?或者有没有其他方法可以将焦点固定在元素上?
Note:此问题总结整理于:How to keep 1 texbox focused at all times in a WPF? - Microsoft Q&A
您好,您可以尝试使用以下代码使焦点始终位于 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();
}
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。