2010-04-05 4 views
14

Comment puis-je vérifier la chaîne vide dans les déclencheursVérifiez chaîne vide Trigger

<Trigger Property="Source" SourceName="ControlName" Value=""> 
    <Setter Property="Height" Value="0" TargetName="ControlName" /> 
</Trigger> 

J'ai mis la hauteur du contrôle à 0 si la source de la imageControl est une chaîne vide ou non défini? Comment puis-je le faire, Fondamentalement Si l'image n'est pas définie, je veux cacher le contrôle de l'image dans le modèle.

Merci d'avance.

Répondre

37

Kent est exact que la source n'est pas une chaîne mais si vous avez une propriété de piqûre pour vérifier contre vous pouvez utiliser la valeur String.Empty statique:

Value="{x:Static sys:String.Empty}" 

et l'espace de noms sys déclaré que

xmlns:sys="clr-namespace:System;assembly=mscorlib" 
+0

Comment pourrais-je utiliser cela dans le projet Silverlight, d'où statique n'est pas pris en charge dans la Silverlight – Eldho

+0

Merci pour la déclaration de l'espace de noms, c'est ce dont j'avais besoin :) – Drarig29

3

Si la propriété n'est pas définie, sa valeur sera null. Pour spécifier null en XAML vous utilisez une extension de balisage:

<Trigger Property="Source" SourceName="ControlName" Value="{x:Null}"> 
    <Setter Property="Height" Value="0" TargetName="ControlName" /> 
</Trigger> 
+0

Merci pour vos commentaires, mais je veux vérifier une chaîne vide, signifie « » ou string.Empty, comment puis-je vérifier? –

+0

La propriété 'Source' n'est pas une' chaîne', c'est une 'ImageSource', donc ce que vous essayez de faire n'a pas de sens. –

+0

Supposons que nous ayons des contrôles comme textblock, label qui a un contenu ou une propriété Text qui est de type string. alors comment pouvons-nous vérifier? –