WPF中TextBox绑定Double类型数据,TextBox.Text属性不显示空格,光标也不对

天命小猪 2014-12-30 04:38:24
最近学习WPF遇到一个郁闷的问题:

我在前台的TextBox的Text属性绑定了后台一个Double类型的数据,mode=TwoWay,UpdateSourceTrigger=PropertyChanged,这样前台数值变更就会通知到后台,但是存在一个问题,如果我在数字前端或者末尾不停的输入空格,后台绑定的内容还是原来的数值不变,但是前台的空格确实存在。在后台取值时,我需要判断光标的位置是否已经是末尾了,如果使用

tbPositionCursor.Select(tbPositionCursor.Text.Length, 0);

此种方式就会出现问题,tbPositionCursor.Text的值是不包含空格的,形如文本框内容为“ 123 ”,Text值却是“123”,且

Length为3而不是8,请教如何才能判定光标已经到达末尾?
...全文
699 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
天命小猪 2014-12-30
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
其实你可以判断用户输入的如果是回车,就切换到下一个文本框,或者用户按tab键,也会自动切换到下一个文本框(这功能不用你自己实现),按右箭头切换,其实用户体验并不好,一不小心就多按了一次,然后就跑了
主要是面向的用户群的使用习惯,他们希望DataGrid的操纵习惯和Excel相同,通过方向键切换焦点。
天命小猪 2014-12-30
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
使用stringFormat 限定输入数据格式
试了一下,使用stringformat无法滤除空格,因为Text属性是没有空格的“123”,但是文本框中显示的是包含空格的“ 123 ”
於黾 2014-12-30
  • 打赏
  • 举报
回复
其实你可以判断用户输入的如果是回车,就切换到下一个文本框,或者用户按tab键,也会自动切换到下一个文本框(这功能不用你自己实现),按右箭头切换,其实用户体验并不好,一不小心就多按了一次,然后就跑了
天命小猪 2014-12-30
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
为什么光标必须在末尾? 我输入1234,发现少输入了一个3,输入的是124,然后我光标放到中间,输入个3,这时候你不让我提交,必须先把光标放到末尾才让提交??
我需要判断光标是否到达文本框末尾,如果到达末尾,那么用户按下右箭头就会切换至下一个文本框。
於黾 2014-12-30
  • 打赏
  • 举报
回复
至于多出空格,那是另一个问题,参考1楼
於黾 2014-12-30
  • 打赏
  • 举报
回复
为什么光标必须在末尾? 我输入1234,发现少输入了一个3,输入的是124,然后我光标放到中间,输入个3,这时候你不让我提交,必须先把光标放到末尾才让提交??
exception92 2014-12-30
  • 打赏
  • 举报
回复
使用stringFormat 限定输入数据格式

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧