TargetNullValue = '' 不工作 WPF C#
TargetNullValue = '' not working WPF C#
我有以下文本框,不知道为什么格式不正常,但你明白了。
<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 属性。
我从以下内容中了解到 TargetNullValue 解决方案 Post
编辑:
好的,我发现了问题,我的 NonEmptyStringValidator 导致了这个问题。不过,我仍想在我的文本框中保留此验证规则。有没有办法调整它以仍然保留验证规则,但在删除时使文本框 return 恢复为空?
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,但似乎没有任何效果。任何帮助将不胜感激!
谢谢,
<u:NonEmptyStringValidator/>
可能会阻止更新为空字符串。
我有以下文本框,不知道为什么格式不正常,但你明白了。
<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 属性。
我从以下内容中了解到 TargetNullValue 解决方案 Post
编辑: 好的,我发现了问题,我的 NonEmptyStringValidator 导致了这个问题。不过,我仍想在我的文本框中保留此验证规则。有没有办法调整它以仍然保留验证规则,但在删除时使文本框 return 恢复为空?
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,但似乎没有任何效果。任何帮助将不胜感激!
谢谢,
<u:NonEmptyStringValidator/>
可能会阻止更新为空字符串。