wpf做一个搜索框,想要在回车时搜索框内的文字。

<TextBox x:Name="SearchBox" Grid.Column="1"  Margin="350,35,52,21" Width="122" Height="34" RenderTransformOrigin="0.5,0.5" Text="{Binding Keyword}" PreviewKeyDown="SearchBox_OnKeyDown"><TextBox.InputBindings><KeyBinding Key="Enter" Command="{Binding SearchCommand}" /></TextBox.InputBindings></TextBox><Button x:Name="btnSearch" Grid.Column="2" HorizontalAlignment="Left" Height="34" Margin="29.5,38,0,0" VerticalAlignment="Top" Width="34" Command="{Binding SearchCommand}" ><Image Height="34" Width="34" Source="/Icons/SearchIcon.png"/></Button>

在不加PreviewKeyDown时,虽然都绑定了相同的SearchCommand,但是结果不同。回车进入断点看Keyword的内容和按button看到的内容不同,可能是在viewmodel中绑定的属性值没能及时的更新为搜索框中的文字。那么在什么情况下能更新呢,经过测试,在焦点从文本框离开时会触发更新,于是增加PreviewKeyDown来引发焦点离开。

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

------------------

还有一个简单的处理方法,设置Button的IsDefault="True",不过这种方法将导致所有的textbox回车都引发buttonclick

转载于:https://www.cnblogs.com/devourer/p/3382576.html

textbox回车事件中拿不到text的处理办法(wpf)相关推荐

  1. C# textbox控件输入字符串触发回车事件

    情景说明: 通过串口传输数据到 textbox,并触发textbox的回车事件KeyPress,直接在字符串后面追加"\r"并不能达到预期效果 方案: 步骤一: 在传输的字符串后面 ...

  2. jquery 检测回车事件_jquery 回车事件

    简单地记下jquery实现回车事件,代码如下: 全局: $(document).keydown(function(e){ if(e.keyCode==13){ $(".login-li in ...

  3. el-input中,输入input和失去焦点blur时进行校验——正则表达式之只能输入数字和大写字母 只能输入数字 颜色值的正则表达式-3位和6位 标签的回车事件

    el-input中,输入input和失去焦点blur时进行校验--正则表达式之只能输入数字和大写字母 & 只能输入数字 & 颜色值的正则表达式-3位和6位 & 标签的回车事件 ...

  4. swing程序中如何响应鼠标回车事件?

    swing程序中如何响应鼠标回车事件? 参考这里实现:http://topic.csdn.net/u/20090806/17/b49846f5-cd76-467e-9b7c-21fe41846095. ...

  5. angularjs中按回车事件_浅谈angularjs中响应回车事件

    下面这个示例在输入框键入回车键或者点击按钮时,将输入框的值置为"Hello World!":(黄色背景内容为响应回车事件涉及到的代码) angularjs-demo test va ...

  6. 如何获取select中的value、text、index相关值 如何获取单选框中radio值 触发事件 radio 默认选中...

    如何获取select中的value.text.index相关值 select还是比较常用的一个标签,如何获取其中的内容呢? 如下所示: <select id="select" ...

  7. wpf如何实现按钮的回车事件_c# – 在WPF中模拟Enter键

    我试图在按钮事件中模拟按键.我可以使用下面的代码来模拟一些键,例如Backspace,但Enter不起作用. 我究竟做错了什么? private void btnEnter_Click(object ...

  8. vue中使用饿了么input组件监听回车事件不起作用

    vue使用element-ui的el-input监听不了回车事件,原因是element-ui自身封装了一层input标签之后,把原来的事件隐藏了,加上.native可以监听到组件根元素的原生事件 转载 ...

  9. [转] C# TextBox、DataGrideView中的数据绑定

    Xavierr 原文 C#数据绑定--简单的文本框绑定.DataGridView 一.TextBox的数据绑定 经常写用一个TextBox显示某个对象,然后编辑之后再保存的程序.以前都是在TextBo ...

最新文章

  1. 一个http的Post请求问题,unable to resolve host 我的域名:no address associated with hostnam...
  2. 计算机管理器中没有停止共享,域客户端默认共享关闭讨论.
  3. HDU - 5978 To begin or not to begin(简单博弈)
  4. Name Server Daemon (NSD)
  5. xml编辑 html_【c# .net】Xml读写操作(XmlTextReader 类)
  6. spring定时器,定时器一次执行两次的问题
  7. (217)如何选择硬件描述语言
  8. 有毒!OPPO Reno证件照曝光:“铡刀式”前置摄像头抢眼
  9. Linux安装与基本操作命令与JDK的安装,Mysql的安装,Tomcat的安装
  10. [转]华人总结“十个”出了国才能知道秘密!
  11. SQL Server Storage
  12. POJ 小白算法学习 任重而道远
  13. 计算机音乐天使重构,天使重构
  14. [css] 积累(old)
  15. android 获取屏幕旋转方向,android获取手机屏幕尺寸和旋转方向
  16. 【全志T113-S3_100ask】4G模块EC200A的使用
  17. IOS开发入门(11)-导航控制器(1)
  18. Linux下交叉编译libiconv库
  19. 西子奥的斯服务器光电信号,西子奥的斯怎么看故障
  20. Javascript算法实现PDF批量加盖不同宽度骑缝章,vue加持。

热门文章

  1. excel记账本模板_原来这才是老板最喜欢看的财务报表!这些模板送你,录入自动生成...
  2. 二、操作系统——用信号量机制实现进程互斥、同步、前驱关系(详解)
  3. LeetCode 954. 二倍数对数组(map计数)
  4. LeetCode 434. 字符串中的单词数
  5. 程序员面试金典 - 面试题 16.11. 跳水板(数学)
  6. python第一周心得_python第一周心得-Go语言中文社区
  7. Android全局窗口模糊,javascript – 窗口焦点和模糊事件在Android浏览器上无法正常工作...
  8. java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源
  9. Linux环境变量配置的三个方法--/etc/profile,~/.bashrc,shell
  10. final 数组 java_Java Final数组列表