平板电脑/ WPF文本框错误 - 任何解决方法?

时间:2010-03-11 15:58:12

标签: wpf text crash tablet-pc

我刚刚使用Microsoft Connect记录了这一点,但我想知道是否有其他人遇到它并找到了修复程序。谷歌没有多少表现......

简单的重复:

  • 应用程序有一个带MaxLength set
  • 的WPF文本框
  • 使用TabletPC输入面板写入比允许的文本更多的文本
  • 按TabletPC面板上的“插入”,应用程序崩溃

除了将应用程序的行为更改为不使用MaxLength之外,有没有人知道解决方案?

(如果微软带回任何建议,我会在这里发帖。)

编辑:应该已经指定我正在运行.NET 3.5和Windows 7.

3 个答案:

答案 0 :(得分:1)

根据应用程序的体系结构,如果您使用的是MVVM,我可能会删除MaxLength,然后在ViewModel对象中进行验证,以确保该值与您期望的长度相匹配。

否则我可能会使用绑定验证,例如described in this article

对于像邮政编码或电话号码这样长度有限的东西,我不会称之为最佳,但它可以让你在一个地方内化所有验证。

答案 1 :(得分:0)

我会说实话,我对WPF或平板电脑的互动没有任何经验,所以我在这里拍摄失明,但我要么达到目标要么学到一些东西:)

从我简单化的观点来看,我看到了许多解决方法,都涉及删除最大长度:

  1. 提交时,如果太长则截断VM中的字符串
  2. 提交时,提醒用户截断并在文本框中将截断的字符串显示回来进行编辑
  3. 在文本框中挂起一个事件,并使用与该字段相邻的标签警告截断字符串“OnChange”,就像网络表单错误一样。
  4. 无论如何,我希望你得到一些知道他们在说什么的人的回复;)

答案 2 :(得分:0)

显然,这已在.NET 4.0中修复,但没有针对3.5修复的计划。 MS的建议是处理TextChanged事件以自动提供MaxLength(ew!)。