J'utilise actuellement ce qui TextBlock
suit pour lier la valeur d'une propriété nommée Name
:
<TextBlock Text="{Binding Name}" />
Maintenant, je veux lier une autre propriété portant ID
le même nom TextBlock
.
Est-il possible de lier deux ou plusieurs valeurs à la même chose TextBlock
? Peut-on le faire avec une simple concaténation, comme Name + ID
et sinon, comment pourrait-on aborder cela?
wpf
data-binding
binding
textblock
multibinding
Dépenser
la source
la source
DataGrid
comportement de tri, cela ne fonctionne malheureusement pas. Une solution plus appropriée serait de créer une propriété en lecture seule dans votre modèle avec le format de chaîne approprié pour la liaison. Inutile de dire que c'est une bonne façon de formater rapidement, quoique un peu verbeux.XamlParseException: A 'Binding' cannot be set on the 'Path' property of type 'Binding'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
Je sais que c'est un peu tard, mais j'ai pensé ajouter encore une autre façon de procéder.
Vous pouvez tirer parti du fait que la propriété Text peut être définie à l'aide de " Exécuter s", vous pouvez donc configurer plusieurs liaisons en utilisant une Exécuter pour chacune. Ceci est utile si vous n'avez pas accès à MultiBinding (que je n'ai pas trouvé lors du développement pour Windows Phone)
la source
Si ce ne sont que des blocs de texte (et donc une liaison à sens unique) et que vous souhaitez simplement concaténer des valeurs, liez simplement deux blocs de texte et placez-les dans un panneau de pile horizontal.
Cela affichera le texte (ce que font tous les blocs de texte) sans avoir à faire de codage supplémentaire. Vous pouvez cependant leur donner une petite marge pour les faire bien paraître.
la source
Utilisez un ValueConverter
et dans le balisage
. . .
la source