gpt4 book ai didi

c# - WPF:Tab 的 KeyBinding,吞下 Tab 并且不传递它

转载 作者:太空狗 更新时间:2023-10-29 23:53:09 28 4
gpt4 key购买 nike

我有一个文本框,里面有这个: <KeyBinding Command="{Binding MyCommand}" Key="Tab"/>

问题是它吞下了 Tab 而不是跳转到下一个控件。如何捕获文本框的 Tab 键并仍然按 Tab 键顺序保留到下一个控件的 Tab 键?编辑:我也在使用 MVVM 并且 MyCommand 位于 ViewModel 代码中,所以这是我需要重新抛出 Tab 的地方。

最佳答案

很容易实现,只是不要为此使用KeyBinding。处理您的 TextBox 的 OnKeyDown 事件:

<TextBox KeyDown="UIElement_OnKeyDown" ...

然后在代码隐藏中,每当按下 Tab 键时执行您的命令。与 KeyBinding 不同,这不会吞噬 TextInput 事件,因此它应该可以工作。

    private void OnKeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Tab:
// Execute your command. Something similar to:
((YourDataContextType)DataContext).MyCommand.Execute(parameter:null);
break;
}
}

关于c# - WPF:Tab 的 KeyBinding,吞下 Tab 并且不传递它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3450511/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com