我有一个文本框通过代码绑定(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,这将是有效的。

08-07 14:24