gpt4 book ai didi

.net - WPF:验证时绑定(bind)到不可为空的值

转载 作者:行者123 更新时间:2023-12-01 13:00:34 25 4
gpt4 key购买 nike

考虑以下场景:

<TextBox Text="{Binding Price}"/>

这是 Price 属性

public Decimal Price
{
get
{
return _Price;
}
set
{
if (_Price != value)
{
_Price = value;
OnPropertyChanged("Price");
}
}
}

此方法检查我的属性(property)

private string validateGlassPrice()  
{
if (GlassPrice <= 0)
{
return "price can't be 0 nor a minus value ";
}
else
{
return String.Empty;
}
}

此方法检查我的属性是否为 0 或更小 - 一个负值 - 现在我需要检查它是否为 null 或空,问题是 Decimal 不接受可为 null 的值,有任何解决方法吗?

提前致谢

最佳答案

你可以使用 Nullable Type

或者,如果不希望更改模型,则改为绑定(bind)到 View 模型上的属性。

通常,我更喜欢在 View 模型中使用字符串值作为 double /十进制值,并将验证放在 View 模型属性的 setter 中。如果传递的小数无效,则不更新支持字段。

在适当的时候,将有效 View 模型的属性值复制到您的模型中,例如在需要保留模型之前,或者在屏幕关闭时。

关于.net - WPF:验证时绑定(bind)到不可为空的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com