2009-10-30 4 views

Répondre

6

Vous pouvez réellement utiliser des guillemets simples en ligne pour passer un chaîne vide, comme si:

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

Au lieu de définir la liaison en une seule ligne:

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

Vous pouvez définir plusieurs lignes et spécifier individuellement les attributs:

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

assez sûr que va faire ce que vous êtes à la recherche de.

6

Si vous voulez le faire en ligne, vous pouvez utiliser la propriété statique String.Empty. Vous devez ajouter une définition d'espace de noms pour clr-namespace: System pour l'utiliser.

Dans la définition de votre fenêtre (ou tout autre que vous contrôlez vous utilisez):

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

vous pouvez utiliser quelque chose comme ceci:

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

Personnellement, je pense que c'est un peu mieux que d'utiliser la version multiligne parce que les gens ont tendance à s ee Converter = "" en tant que propriété non définie (probablement celle qui avait l'habitude d'être définie et a été manquée pendant un refactor) et l'effacer. –

Questions connexes