WPF:有没有办法在不使用值转换器的情况下绑定到Nullable <int32>属性?</int32>

时间:2010-07-19 23:36:50

标签: wpf binding

有没有办法在不使用值转换器的情况下绑定到Nullable属性?

目前我有这个...

<DataGridTextColumn Header="ApplicationKey" Binding="{Binding ApplicationKey, ValidatesOnDataErrors=True, Converter={StaticResource ResourceKey=TestConverter}}" />

如果没有转换器,它会将空文本框视为String.Empty而不是Null。

我希望有像TargetNullValue这样的魔法属性。

2 个答案:

答案 0 :(得分:12)

是的,Binding上的TargetNullValue属性应该完全符合您的要求。如果将TargetNullValue设置为空字符串,则绑定将空字符串转换为null并返回:

<DataGridTextColumn Header="ApplicationKey" Binding=
    "{Binding ApplicationKey, ValidatesOnDataErrors=True, TargetNullValue=''}" />

答案 1 :(得分:0)

所以让我直截了当...你想要将文本绑定为null而不是string.empty吗?

如果是这种情况,您可以COULD绑定到视图模型中的属性,而不是通过转换器进行绑定(如果您没有视图模型,则可以创建它并将xaml绑定到它)。

然后,有问题的属性可以返回(在属性的getter部分中)null值而不是string.empty。

如果这不能解决您的问题,请详细描述以及为什么要绑定到null而不是string.empty。