Je cherche quelque chose le long de ces lignes:Comment insérer une liaison au milieu d'une phrase d'un TextBlock dans WPF?
<TextBlock
Grid.Column="1"
Text="Welcome, {Binding UserName}!" />
Ce sera bien sûr afficher réellement le texte « {} Reliure UserName » à l'utilisateur plutôt que de le décoder, mais je sais que vous pouvez faire quelque chose comme ça avec ASP.NET, donc j'espère qu'il y a un moyen de faire fonctionner cela dans WPF.
Je suis déjà au courant que je pourrais utiliser un IValueConverter
... Je cherche quelque chose que je peux faire purement en balisage si possible.
EDIT:
Basé sur la solution la plus excellente de Hamilton @ Matt, j'ai essayé de pousser l'enveloppe et de lier deux valeurs dans le même TextBlock
en utilisant un MultiBinding
. Fonctionne comme un charme:
<TextBlock
Style="{StaticResource TextBlock_ValueStyle}"
Grid.Column="1">
<TextBlock.Text>
<MultiBinding
StringFormat="{}Attempts: {0:G} of {1:G}">
<Binding
Path="AttemptNumber" />
<Binding
Path="AttemptCount" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Ce produit: Attempts: 1 of 4
(en supposant AttemptNumber = 1
et AttemptCount = 4
).
J'ai aussi trouvé ce lien utile pour déterminer quels formats pour placer après les deux points:
http://msdn.microsoft.com/en-us/library/fbxft59x.aspx
Whee, c'est bien. L'ordre est bizarre, cependant, car c'est exactement le contraire de l'habituel [string] :: Format. – Joey
Magnifique! Cela m'amène à une autre question, cependant: est-il possible d'avoir plusieurs valeurs liées ou êtes-vous limité à un? Merci. – devuxer
Répondu à ma propre question (voir ma vérification). – devuxer