我的应用程序的用户可以在 TextBoxes 中输入值。在某些情况下,需要将值限制在某个范围内,例如 0 到 1 或 1 到 50。在其他情况下,它们最多只能输入 13 或 20 个字符,具体取决于。
我可以使用 Binding.StringFormat 来强制执行这些范围吗?如果是这样,
- 我需要指定什么来将值限制为特定的字符长度?
- 我需要指定什么来将值限制在某个范围内?
如果没有,实现这一点的最佳方法是什么?
你想要的是输入验证。对于初学者,MSDN 上的本教程将对您有所帮助,有关 IDataErrorInfo(首选方式)的更多信息可以在此处获得。
这个问题已经是关于 SO:WPF Data Binding and Validation Rules Best Practices的一个话题
WPF 代码项目中的验证应该给你一个好的开始。
像 ASP.NET 这样的相关问题WPF Validators 也应该有所帮助。
您需要使用输入掩码,查看这篇文章WPF Maskable TextBox for Numeric Values
根据事件中的这篇文章,TextBox_PreviewTextInput
您TextBoxPastingEventHandler
可以检查范围。
文本框长度属性应该解决
Textbox.maxlength= 10;