我有一个文本框通过代码绑定(bind)到可为null的int数据。如果我删除了文本框中的数据,则会出现验证错误(红色边框)。
这是我的绑定(bind)代码:
ZipBinding = new Binding("Zip");
ZipBinding.Source = Address;
zipTextBox.SetBinding(TextBox.TextProperty, ZipBinding);
public Int32? Zip { get { ... } set { ... } }
它清楚地标记为Nullable,所以当我清除文本框时,WPF为什么要给我一个验证问题?
最佳答案
验证失败,因为它无法将空字符串转换为可为空的整数。在Binding上将TargetNullValue设置为string.empty,它将空字符串转换为null,这将是有效的。