cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
Modifié le 12 mars 2018 à 23:35
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
15 mars 2018 à 20:37
Bonsoir le Forum,
Dans une appli WPF (ma 1ère) , est-il possible d'insérer un item dans une collection pour binding vers un combobox ???
Imports System.Text.RegularExpressions
Public Class ExtractIDMON
Public Sub New()
End Sub
Public Sub New(ByVal M As Match)
Trigramme = M.Groups("trigramme").Value
Client = M.Groups("client").Value.Replace("_", " ")
End Sub
Public Property Trigramme() As String
Public Property Client() As String
Public Overrides Function ToString() As String
Return Trigramme & " - " & Client
End Function
End Class
Création de la collection et insert combobox
listofcustomer = (
From l In toutesLesLignes
Group l By l.Trigramme Into leGroup = Group Order By Trigramme
Select New ExtractIDMON With {.Trigramme = leGroup.First().Trigramme,
.Client = leGroup.First().Client}).ToList()
ComboBoxCustomer.ItemsSource = listofcustomer
ComboBoxCustomer.SelectedIndex = -1
En fait, je souhaiterai que le combobox contienne:
Tous les contrats ' item à insérer en tant qu'item cliquable
Contrat1
Contrat2...
En regardant mon appli initiale (en VB.Net), j'avais ajouté manuellement dans la propriété du combobox (Items / Collection):
Whismeril
Messages postés18414Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 7 juin 2023624 13 mars 2018 à 07:24
Salut Jean Marc
il faut que j'essaye (je ne me sers jamais de combobox en wpf), et en ce moment j'ai assez peu de temps.
Cependant, tu définis ItemSource dans le xaml et dans le cs.
Dans la mesure où tu ne bindes pas la fenêtre entière sur une vue, je pense que ceci serait plus juste
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201826 13 mars 2018 à 15:03
Bonjour Whismeril,
Tes conseils sont toujours les bienvenus !!!
J'ai donc modifié le xaml comme indiqué.
Je ne sais pas si c'est la meilleure méthode pour ajouter un item
Dim listofcustomer As List(Of ExtractIDMON)
Dim listofcombobox As New List(Of String)
listofcustomer = (
From l In toutesLesLignes
Group l By l.Trigramme Into leGroup = Group Order By Trigramme
Select New ExtractIDMON With {.Trigramme = leGroup.First().Trigramme,
.Client = leGroup.First().Client}).ToList()
listofcombobox.Add("Tous les contrats")
For Each item In listofcustomer
listofcombobox.Add(item.ToString)
Next
ComboBoxCustomer.ItemsSource = listofcombobox
ComboBoxCustomer.SelectedIndex = -1
Whismeril
Messages postés18414Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 7 juin 2023624 15 mars 2018 à 00:14
Pour le texte « selectioner un truc » cette solution https://stackoverflow.com/a/16782339 me parait bien. Relis quand même plus haut pour voir d'où ça vient.
Pour « tous les contrats » pour l’instant ce qui me vient à l’esprit est d’ajouter un ExtractIDMON qui affiche ce texte. Mais ça me plait moyen.
Je continue à chercher.
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201826 15 mars 2018 à 20:37
Bonsoir Whismeril,
Merci de ton lien et de ton temps consacré.
J'ai donc rajouté le textblock dans le fichier xaml.
Ne t'embête pas à chercher une alternative, la solution #2 me suffit amplement.
Je mets à résolu ce post.
Encore merci, bonne soirée et à + sur ce forum,