我有以下文本框,不确定为什么格式化不会正常,但是您明白了。
<TextBox LostFocus="TextBox_LostFocus">
<TextBox.Text>
<Binding Path="InputVolts"
TargetNullValue=''
FallbackValue=''>
<Binding.ValidationRules>
<u:NonEmptyStringValidator/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
此文本框绑定到以下属性:
public int? InputVolts
{
get { return _InputVolts; }
set { Set(ref _InputVolts, value);}
}
在我的表单中,如果我在文本框中输入数字240,则视图模型将使用该值进行更新。如果我尝试从文本框中删除240,则视图模型不会相应地更新InputVolts属性。
我知道以下Post
中的TargetNullValue解决方案编辑: 好的,我发现了问题,我的NonEmptyStringValidator导致了此问题。我想在文本框中仍然保留此验证规则。无论如何,是否有必要对此进行调整以保持验证规则,但使文本框在删除后返回空值?
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
ValidationResult validationResult = new ValidationResult(false, "Value cannot be empty.");
if (value != null)
{
string valueAsString = value as string;
if (valueAsString.Length > 0)
validationResult = ValidationResult.ValidResult;
}
return validationResult;
}
我也尝试使用FallBackValue,但似乎没有任何效果。任何帮助将不胜感激!
谢谢
答案 0 :(得分:1)
count
可能会阻止更新为空字符串。