WPF中添加一个文本输入框,按Enter回车,执行绑定的Command

来源:互联网 发布:excel表格怎么数据统计 编辑:程序博客网 时间:2024/05/19 14:52

在WPF+WMMV模式中使用键盘和鼠标事件的绑定代码如下:

<TextBox x:Name="SearchBox" Text="{Binding SearchText}" Width="246" Height="24" HorizontalAlignment="Right"PreviewKeyDown="SearchBox_OnKeyDown">
             <TextBox.InputBindings>
                   <KeyBinding Command="{Binding KeyEventCommand}" Key="Enter"/>//绑定键盘输入事件

            <dxg:GridControl.InputBindings>

                <MouseBinding Command="{Binding ProductDoubleClickCommand}" CommandParameter="{Binding ElementName=ProductCtrl,Path=CurrentItem}"                                                                   MouseAction="LeftDoubleClick"/>//绑定鼠标事件

           </dxg:GridControl.InputBindings>

             </TextBox.InputBindings>
 </TextBox>

上面需要注意的是:搜索文本框的输入文本在按Enter后虽然会触发事件,但是获取不到搜索文本框的输入文本值,因此需要是搜索文本框的输入文本在按Enter后失去焦点,

多以添加PreviewKeyDown="SearchBox_OnKeyDown,

 private void SearchBox_OnKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                SearchBox.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            }
        }

阅读全文
0 0
原创粉丝点击