DisplayMemberPath concaténation
Je suis en train de lier deux valeurs à une zone de liste déroulante de la valeur d'affichage, mais je ne sais pas comment faire.
De cette façon ne fonctionne pas:
cboRegion.DisplayMemberPath = "idregion" + "description";
Personne ne sait comment le faire en C#?
OriginalL'auteur unairoldan | 2012-04-17
Vous devez vous connecter pour publier un commentaire.
Malheureusement, ce n'est pas possible avec
DisplayMemberPath
. Vous avez les possibilités suivantes:Spécifier un DataTemplate
Ajouter une propriété ou un terrain à votre source de données. La façon de le faire dépend de votre source de données:
Si votre zone de liste modifiable est lié à une DataTable, ajouter un DataColumn et de remplir ses valeurs dans une boucle. Vous pouvez également modifier votre SQL et ajouter la concaténation de la valeur à votre
SELECT
clause.Si votre zone de liste modifiable est lié à un POCO ou objet entity framework, ajouter une propriété qui retourne la concaténation.
OriginalL'auteur Heinzi
Vous devez utiliser un
DataTemplate
:Vous pouvez créer le DataTemplate en C# aussi, voir à cette question: stackoverflow.com/questions/248362/.... Notez, cependant, que le code XAML est plus facile et plus lisible dans ce cas.
oui, mais il n'est pas pratique du tout... pourquoi vous voulez le faire en C#?
Je ne sais pas, peut-être par habitude....mais dans le code XAML fonctionne correctement
Merci pour cela. WPF positivement surprises moi sur une base quotidienne 🙂
OriginalL'auteur Thomas Levesque
Vous pouvez créer une vue, concaténer les deux champs, puis reportez-vous à la concaténation de nom de champ dans votre DisplayMemberPath propriété en c#, après avoir fait référence à la nouvelle vue dans votre propriété itemssource (et après la mise à jour de votre modèle d'entity framework)
OriginalL'auteur user3542322