考虑以下场景:
<TextBox Text="{Binding Price}"/>
这是价格属性
public Decimal Price
{
get
{
return _Price;
}
set
{
if (_Price != value)
{
_Price = value;
OnPropertyChanged("Price");
}
}
}
这个方法检查我的财产
private string validateGlassPrice()
{
if (GlassPrice <= 0)
{
return "price can't be 0 nor a minus value ";
}
else
{
return String.Empty;
}
}
此方法检查我的属性是否为 0 或更少 - 负值 - 现在我需要检查它是否为 null 或空,问题是 Decimal 不接受可为 null 的值,有什么解决方法吗?
提前致谢
你可以使用可空类型 http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx
或者,如果不希望更改模型,则可以绑定到视图模型上的属性。
通常,我更喜欢在视图模型中使用字符串值作为双精度/十进制值,并将验证放在视图模型属性的设置器中。如果传递了无效的小数,则不要更新支持字段。
在适当的时候,将有效视图模型的属性值复制到您的模型中,例如在需要保留模型之前等,或者在屏幕关闭时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)