c# - WPF StringFormat 仅允许正数

标签 c# wpf validation mvvm string-formatting

我只想允许用户在 TextBox 中输入正数。

如果我输入-10并使用

<TextBox Text="{Binding Width, StringFormat={}{0:0.00;0.00}}" />

那么它总是显示正数,但后面的Data仍然是负数。

怎样做才是正确的?

最佳答案

有很多方法可以处理这个问题,例如 OmegaMan 的方法。但我的解决方案是根本不使用文本框。遗憾的是,WPF 从未拥有开箱即用的 spinbox/updown 控件,但是 extended WPFToolkit确实有一个。那么为什么要把时间浪费在解析和处理所有令人讨厌的案例上呢?让控件完成繁重的工作。

<extToolkit:IntegerUpDown Value="{Binding Width}" Minimum="0"/>

完成

关于c# - WPF StringFormat 仅允许正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898015/

相关文章:

c# - 将可空参数传递给方法

wpf - ResourceDictionary 样式错误 : "type must derive from FrameworkElement or FrameworkContentElement

wpf - 异步等待不等待

ruby-on-rails - 不要在没有存在的情况下显示其他验证消息

c# - 在 JWT Bearer 的身份 OnTokenValidated 事件中插入更多声明

c# - 在 C# 中绘制椭圆的最快方法

c# - 使用边框的 WPF Microsoft Bing 控件 SetView

javascript 月、日、年检查

c# - 如何对自定义对象创建的属性使用 Blazor ValidationMessage

c# - 复用一个BackgroundWorker,取消等待