如何将空字符串作为ConverterPararmeter传递?

Shi*_*mmy 3 wpf binding

您好我有一个Binding,我正在使用转换器,我希望传输到转换器的参数应该是一个空字符串.有没有办法通过内联绑定传递它?

mje*_*nes 7

如果要内联,可以使用静态String.Empty属性.您需要为clr-namespace:System添加命名空间定义以使用它.

在您的窗口定义中(或您正在使用的控件):

xmlns:System="clr-namespace:System;assembly=mscorlib"
Run Code Online (Sandbox Code Playgroud)

然后你可以使用这样的东西:

<ContentControl Content="{Binding Converter={StaticResource someConverter}, ConverterParameter={x:Static System:String.Empty}}" />
Run Code Online (Sandbox Code Playgroud)

  • 我个人认为这比使用多行版本要好一些,因为人们倾向于将Converter =""视为未设置的属性(可能是一个曾经被设置并在重构期间被遗漏)并删除它. (3认同)

Cod*_*ked 6

您实际上可以使用单引号内联来传递空字符串,如下所示:

<ContentControl Content="{Binding Converter={StaticResource someConverter}, ConverterParameter=''}" />
Run Code Online (Sandbox Code Playgroud)