3

我的应用程序的用户可以在 TextBoxes 中输入值。在某些情况下,需要将值限制在某个范围内,例如 0 到 1 或 1 到 50。在其他情况下,它们最多只能输入 13 或 20 个字符,具体取决于。

我可以使用 Binding.StringFormat 来强制执行这些范围吗?如果是这样,

  • 我需要指定什么来将值限制为特定的字符长度?
  • 我需要指定什么来将值限制在某个范围内?

如果没有,实现这一点的最佳方法是什么?

4

4 回答 4

3

你想要的是输入验证。对于初学者,MSDN 上的本教程将对您有所帮助,有关 IDataErrorInfo(首选方式)的更多信息可以在此处获得

这个问题已经是关于 SO:WPF Data Binding and Validation Rules Best Practices的一个话题

于 2012-04-13T14:06:22.527 回答
1

WPF 代码项目中的验证应该给你一个好的开始。

像 ASP.NET 这样的相关问题WPF Validators 也应该有所帮助。

于 2012-04-13T14:05:26.680 回答
1

您需要使用输入掩码,查看这篇文章WPF Maskable TextBox for Numeric Values

根据事件中的这篇文章,TextBox_PreviewTextInputTextBoxPastingEventHandler可以检查范围。

于 2012-04-13T14:06:01.827 回答
-1

文本框长度属性应该解决

Textbox.maxlength= 10;
于 2012-04-13T14:27:45.090 回答