【发布时间】:2015-06-17 17:07:03
【问题描述】:
我只想在我的 TextBox 中允许正数作为用户输入。
如果我输入-10 并使用
<TextBox Text="{Binding Width, StringFormat={}{0:0.00;0.00}}" />
那么它总是显示正数,但后面的数据仍然是负数。
怎么做才对?
【问题讨论】:
-
你不会用
StringFormat来做这件事。您是否处理Width属性的设置器?如果不是,您将需要处理TextBox上的PreviewTextInput之类的事件@ -
我可以用
Interaction.Behaviors来做,但我更喜欢简单的StringFormat -
StringFormat不能这样工作。最强大的解决方案会在属性的设置器中包含Math.Abs(value),然后引发PropertyChanged事件。但是,如果您不能这样做,请使用您的Interaction.Behaviors解决方案
标签: c# wpf validation mvvm string-formatting