J'ai un ListBox dont ItemsSource est lié à une liste d'objets. La zone de liste a un ItemTemplate avec un DataTemplate contenant un TextBlock. Le texte du bloc de texte est lié à la propriété Nom de l'objet (c'est-à-dire Texte = "{Nom de liaison}").Dans WPF, comment modifier la liaison de texte Textblock d'un DataTemplate dans le code?
Je voudrais fournir un bouton radio pour montrer différentes vues de la même liste. Par exemple, permettez à un utilisateur de basculer entre la propriété Name et une propriété ID.
J'ai trouvé une réponse SO pour cela à 2381740 mais j'ai aussi border et un style de textbox défini dans le modèle de données (voir le code ci-dessous).
Y a-t-il un moyen de réinitialiser la liaison Textblock? Je ne veux pas avoir à recréer l'ensemble du datatemplate. En fait, je ne suis même pas sûr de savoir comment faire cela, y at-il un moyen facile de traduire xaml en code ?.
Merci Cody
<DataTemplate>
<Border Margin="0 0 2 2"
BorderBrush="Black"
BorderThickness="3"
CornerRadius="4"
Padding="3">
<TextBlock Style="{StaticResource listBoxItemStyle}"
Text="{Binding Name}" />
</Border>
</DataTemplate>
Ceci est une bien meilleure solution, d'autant plus qu'il supporte les deux. Merci! – code
Oui, c'est une très bonne solution étant donné l'exigence de lier deux valeurs aux boutons radio. (+1) Vous pouvez également être intéressé par la solution plus générale que j'ai ajoutée. –