WPF DataBinding:Nullable Int仍然出现验证错误?

时间:2010-07-21 18:05:09

标签: c# wpf validation data-binding

我有一个文本框数据绑定到可以通过代码的可空int。如果我从文本框中删除数据,它会给我一个验证错误(围绕它的红色边框)。

这是我的绑定代码:

ZipBinding = new Binding("Zip");
ZipBinding.Source = Address;
zipTextBox.SetBinding(TextBox.TextProperty, ZipBinding);

public Int32? Zip { get { ... } set { ... } }

它清楚地标记为Nullable,那么为什么当我清除文本框时WPF想给我一个验证问题?

2 个答案:

答案 0 :(得分:85)

验证失败,因为它无法将空字符串转换为可以为空的整数。在绑定上将TargetNullValue设置为string.empty,它会将空字符串转换为null,这将是有效的。

答案 1 :(得分:0)

空TextBox!= null。

您可能需要调整ValidationRule以容纳空字符串作为条目。或者,您可以创建一个转换器来获取空字符串并将它们转换为null。