2009-10-30 24 views

回答

6

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

<ContentControl Content="{Binding Converter={StaticResource someConverter}, ConverterParameter=''}" /> 
2

而不是定义在一行中绑定的:

<Control Binding={Property, Converter={StaticResource someConverter}, ConverterParameter={StaticResource someParameter}} /> 

你可以将其定义多行,并指定个别属性:

<Control> 
    <Control.Binding> 
     <Binding Path="Property" Converter="{StaticResource someConverter}" ConverterParameter="" /> 
    </Control.Binding> 
</Control> 

相当肯定会做你在做什么寻找。

6

如果要内联执行此操作,可以使用静态String.Empty属性。您需要为clr-namespace添加一个名称空间定义:System来使用它。

在窗口定义(或任何控制你正在使用):

xmlns:System="clr-namespace:System;assembly=mscorlib" 

然后你可以使用这样的事情:

<ContentControl Content="{Binding Converter={StaticResource someConverter}, ConverterParameter={x:Static System:String.Empty}}" /> 
+2

个人而言,我认为这比使用多行版本更好一些,因为人们倾向于ee Converter =“”作为一个未设置的属性(可能是在重构过程中被设置并遗漏的一个属性)并将其删除。 – 2009-10-30 14:48:06

相关问题