【问题标题】:How can I restrict the values a user enters into TextBox?如何限制用户在 TextBox 中输入的值?
【发布时间】:2012-04-25 21:41:37
【问题描述】:

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

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

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

如果没有,最好的实现方式是什么?

【问题讨论】:

  • 为什么不对数值使用 Slider 控件?

标签: c# wpf xaml


【解决方案1】:

您想要的是输入验证。 对于初学者this tutorial on MSDN 将帮助您,有关 IDataErrorInfo 的更多信息(首选方式)can be obtained here

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

【讨论】:

  • 这听起来完全不同 - IMO 通知输入无效和禁止无效输入之间存在区别。
【解决方案2】:

Vaildation in WPF 代码项目应该会给您一个良好的开端。

还有相关问题WPF Validators like ASP.NET 应该会有所帮助。

【讨论】:

【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

    文本框长度属性应该解决

    Textbox.maxlength= 10;
    

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      • 2021-03-05
      • 1970-01-01
      • 2013-03-27
      相关资源
      最近更新 更多