C# WPF-按文本框上的Enter键执行命令
我已经看到了无数的方法来做到这一点-他们似乎都或多或少相同。但我根本无法让它工作C# WPF-按文本框上的Enter键执行命令,c#,wpf,C#,Wpf,我已经看到了无数的方法来做到这一点-他们似乎都或多或少相同。但我根本无法让它工作 <TextBox x:Name="Assetbox" Text="{UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Center" Width="120" VerticalContentAlignment="Center" Gr
<TextBox x:Name="Assetbox" Text="{UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Center" Width="120" VerticalContentAlignment="Center" Grid.Column="2" Grid.ColumnSpan="3">
<TextBox.InputBindings>
<KeyBinding Key="Return" Command="{Binding IPfind, Mode=OneWay}"/>
</TextBox.InputBindings>
</TextBox>
这是我所看到的几件事情的混合体,就在我撞到墙上并决定寻求帮助的时候。拜托-我在搞什么鬼
按enter键根本不起任何作用,如果我通过单击按钮来运行IPfind命令,它就可以正常工作,但我希望避免这种情况。非常感谢您的帮助。如果操作完全错误,我将文本框的属性更改为:
<TextBox x:Name="Assetbox" KeyDown="IPfind" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Center" Width="120" VerticalContentAlignment="Center" Grid.Column="2" Grid.ColumnSpan="3"/>
键绑定对我来说很有用,愚蠢的问题:当你按下Return键时,文本框有焦点吗?说实话,一点也不愚蠢-我对这方面还不熟悉,但它没有“聚焦”在它上面。。。应该吗?它的工作方式是在一个文本框中键入一个主机名,“按下按钮”将把ip填充到另一个文本框中。但是我不想点击按钮,而是想按“回车”键。只有很少的选项可以让它不起作用。
文本框
需要是活动控件,因此您应该在文本字段中看到闪烁的插入符号。超过此限制后,TextBox
需要将其DataContext
设置为具有ICommand
的viewmodel。这通常会被继承,但是如果您有更多的问题,那么完整的xaml和viewmodel将有助于解决问题。我使用
修复了它,然后在命令中添加了if语句if(e.Key==Key.Enter)
啊,我不理解,您一定要使用事件处理程序。您最初使用的密钥绑定希望绑定到ICommand
属性。
private void IPfind(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{