Comment puis-je lier un contenu selecteditem de listbox à une zone de texte?
J'ai une listbox c'est se lier par cette requête lorsque TextName modifications de contenu:
var players =
from p in context.Player
where p.GivenName.StartsWith(TextName.Text.Trim())
select p;
listNames.ItemsSource = players.ToList();
Il indique les noms des joueurs qui commence avec le texte sur la zone de texte. Maintenant quand je clique sur n'importe quel Élément (nom) de la zone de liste, j'ai besoin de la TextName affiche le nom du joueur qui est sélectionné sur la liste. J'ai essayé de lier de cette façon:
<TextBox ... Text="{Binding Source=listNames, Path=SelectedItem.Content}" ... />
Mais lorsque je clique sur un ListboxItem, la zone de texte juste obtenir effacée et ne pas montrer quoi que ce soit.. je dois mettre en place la zone de texte, comme je le fais avec la zone de liste lors de la configuration de la DisplayMemeberPath???? J'ai besoin d'un seul moyen de liaison!!
Que puis-je faire??
source d'informationauteur Max
Vous devez vous connecter pour publier un commentaire.
Vous avez 2 problèmes avec votre liaison:
Player
objet. Cela se produit parce que leSelectedItem
propriété de laListBox
est une instance dePlayer
lorsque vous spécifiez unItemsSource
comme vous l'avezPour résoudre ce problème, vous devez modifier votre liaison à la suivante:
Cette lie la
TextBox.Text
pour les listes déroulantes - disant listNames - SelectedItem, qui contientPlayer
objets, et vous avez besoin de son Nom de la propriété.Vous devez utiliser
RelativeSource
pour accéder à la zone de liste, par exemple:ici je lier l'élément sélectionné de la liste de la boîte de texte boîte..
vous pouvez trouver le fichier zip pour l'intégralité du code source