7
votes

Donnez la valeur par défaut TextBlock si le résultat renvoie null

Bonjour J'essaie de donner une valeur par défaut à un textblock si les résultats renvoyés sont NULL

Voici ce que j'essaie!

Tout ce qui retourne est le format de chaîne I défini! xxx


0 commentaires

4 Réponses :


1
votes

Je voudrais lier le texte sur une propriété d'un objet qui ne retournait pas NULL; rendre votre propriété renvoie une valeur par défaut. Il semble que vous souhaitiez toujours que le fonttyle soit en italique, alors je voudrais simplement construire cela à l'extérieur des déclencheurs.


0 commentaires


3
votes

Vous pouvez utiliser la propriété TargeNullValue code> directement dans une liaison.

<TextBox Text='{Binding Path=LastName, TargetNullValue="No name found."}' />


0 commentaires

1
votes

Dans mes applications, je trouve qu'il est plus fiable de lier mes déclencheurs à l'objet réel que mon contrôle est tenu de. Donc, si je regarde le nom dans la machine virtuelle pour la liaison du texte réel, je voudrais également lier mon déclencheur de données à cela.

<TextBlock x:Name="NameTxtBlock" Grid.Column="0" Margin="0,0,40,0" FontFamily="Segoe UI" FontSize="14" Text="{Binding Name, StringFormat='Item Name: {0}'}"  Padding="2">
<TextBlock.Style>
    <Style TargetType="TextBlock" >                                            
        <Style.Triggers>
            <DataTrigger Binding="{Binding Name}" Value="{x:Null}">
                <Setter Property="FontStyle" Value="Italic"/>
                <Setter Property="Text" Value="No Name Found" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Name}" Value="">
                <Setter Property="FontStyle" Value="Italic"/>
                <Setter Property="Text" Value="No Name Found" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</TextBlock.Style>


2 commentaires

En outre, vous pouvez utiliser la source relative


Jolie approche! Il n'a pas fonctionné pour mon cas (avec textbox ) au début, je devais donc utiliser (comme suggéré dans un autre Réponse ).