2010-04-25 4 views
1

Est-ce que WPF prend en charge plusieurs expressions de liaison dans une instruction? Quelque chose le long des lignes de ce qui suit:Expressions de liaisons multiples dans une instruction

<TextBlock Text="{Binding Path=OrderID} shipped on {Binding Path=OrderDate}"/> 

je devine qu'il fait, mais je pense que je n'ai pas la syntaxe correcte.

Répondre

5

Vous devez utiliser MultiBinding avec la fonction StringFormat. Regardez le docs for more info

<TextBox> 
    <TextBox.Text> 
    <MultiBinding StringFormat="{}{0} shipped on {1:D}"> 
     <Binding Path="OrderID" /> 
     <Binding Path="OrderDate"/> 
    </MultiBinding> 
    </TextBox.Text> 
</TextBox> 

Pour ajouter le support pour les sections spécifiques forrmating du TextBlock, use Inlines like so.

<Textblock> 
    <Run FontWeight="Bold" Text="{Binding OrderID}"/> 
    <Run Text="shipped on "/> 
    <Run FontStyle="Italic" Text="{Binding OrderDate}"/> 
</Textblock> 
+0

Génial! Juste une question. Existe-t-il un moyen d'appliquer des styles à des parties du texte, comme faire le OrderID et le Date Bold en utilisant MultiBinding ou devrais-je séparer les parties en plusieurs TextBlocks –

+0

Pour faire ce que vous voulez, utilisez l'initialisation Inlines. J'ai mis à jour la réponse à montrer. –

Questions connexes