WPF:有没有办法绑定到Nullable <Int32>属性而不使用值转换器?

Jon*_*len 6 wpf binding

有没有办法绑定到Nullable属性而不使用值转换器?

目前我有这个......

<DataGridTextColumn Header="ApplicationKey" Binding="{Binding ApplicationKey, ValidatesOnDataErrors=True, Converter={StaticResource ResourceKey=TestConverter}}" />
Run Code Online (Sandbox Code Playgroud)

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

我希望有一些像TargetNullValue这样的神奇属性.

Qua*_*ter 12

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

<DataGridTextColumn Header="ApplicationKey" Binding=
    "{Binding ApplicationKey, ValidatesOnDataErrors=True, TargetNullValue=''}" />
Run Code Online (Sandbox Code Playgroud)


Alv*_*par 0

那么让我弄清楚这一点...您希望文本绑定为 null 而不是 string.empty 吗?

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

然后,该属性可能会返回(在属性的 getter 部分)一个 null 值,而不是 string.empty。

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