2010-01-14 9 views
3

J'ai 2 champs que je voudrais mettre en forme dans un TextBlock, par exemple: "{0} de {1} heures utilisées".Formatage d'un champ lié multiple dans un TextBlock en XAML

ont actuellement:

<TextBlock Text="{Binding HoursEntered}" /> 
<TextBlock Text=" of " /> 
<TextBlock Text="{Binding EstimatedHours}" /> 
<TextBlock Text=" hours used " /> 

CHERCHAIT à StringFormat pour un seul champ, mais cela semble être uniquement disponible pour WPF, pas Silverlight:

<TextBlock Text="{Binding Path=HoursEntered, StringFormat='{0} of XX hours used'}"/> 

Je pensais utiliser MultiBinding mais n'est pas disponible dans Silverlight 3 non plus? Comment faire une chaîne de format avec plusieurs champs liés dans Silverlight 3 xaml?

Comment faire une chaîne de format avec plusieurs champs liés dans Silverlight 3 xaml?

Répondre

2

vous pouvez placer le texte dans une chaîne en lecture seule dans votre source de liaison

Public ReadOnly Property HoursUsedMessage() As String 
    Get 
     Return String.Format("{0} of {1} hours used", _hoursEntered, _estimatedHours) 
    End Get 
End Property 

assurez-vous de soulever également la notification de la propriété de cette propriété dans les setters HoursEntered et EstimatedHours

+0

Où ce code est-il placé? Les données proviennent d'une DomainDataSource RIA. Cela est-il ajouté dans le code client ou serveur? –

+0

ce serait une propriété sur l'objet auquel vous vous liez. – kenwarner

+0

L'objet provient d'Entity Framework. Ajout d'une classe partielle et d'une propriété comme suggéré ci-dessus. Travaux. –

0

Si vous voulez un plus solution dynamique, vous pouvez utiliser un convertisseur. J'ai fait un petit exemple, voir le lien ci-dessous. J'ai utilisé la liaison d'élément pour la brièveté, mais cela fonctionne avec n'importe quelle liaison de données.

http://pastebin.com/f4465f5ae

0

Mise à jour pour Silverlight 4: vous pouvez maintenant utiliser l'option String.Format.

<Button Content=”{Binding username, StringFormat=’Log Out of \{0\} Account’}“/> 
Questions connexes