2010-03-11 32 views
0

我只是记录了此与微软的连接,但我不知道其他人是否已经遇到它,并找到了解决。谷歌没有显示太多......Tablet PC/WPF文本框错误 - 任何解决方法?

简单的摄制:

  • 应用程序有一个WPF文本框用的MaxLength设置
  • 使用的TabletPC输入面板写入超过允许更多的文字
  • 按“插入”在平板电脑面板和应用程序崩溃

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

(我会张贴在这里,如果微软回来与任何意见。)

编辑:应指定我运行.NET 3.5和Windows 7

+0

假设.NET 3.5 SP1,是正确的? –

+0

是的。当我可以找到合适的机器时,计划使用.NET 4 RC进行测试! –

回答

0

显然,这是固定在.NET 4.0中,但对于3.5补丁的计划。来自MS的建议是处理TextChanged事件以自动提供MaxLength(ew!)。

0

我会说实话,我没有经验WPF或平板电脑的互动,所以我在这里拍摄盲人,但我要么击中目标或学习东西:)

从我简单的观点来看,我看到了一些解决办法,全部涉及去除最大长度:

  1. 在提交,如果太长
  2. 在提交截断VM中的字符串,警告用户截断和现在截断字符串返回到他们在文本编辑
  3. 航事件关闭文本框和截断字符串“OnChange”,在字段旁边有一个标签警报,就像一个web表单错误。

无论如何,我希望你从一些人谁知道他们是在谈论一些回应;)

+0

是的,我们已经反复讨论已经这些想法 - 但由于我们有大量的数据输入的生产应用程序,导致额外的开销(特别是用于测试),我宁愿避免!我怀疑这只是一个真正的MS错误,但我希望我被证明是错误的。 –

1

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

否则我可能会使用像什么是described in this article的绑定验证。

不是我所说的的东西是真正长度的限制就像一个邮政编码或电话号码的情况下最优的,但它可以让你内在所有的验证在一个地方。