2009-10-23 2 views
3

J'ai un ListBox lié à un modèle de vue collection observable:Problèmes d'utilisation ListBox et collection observables comme un journal de débogage

Cela fonctionne bien, moins un petit problème ... en supposant que la collection observable contient chaînes, le tout se décompose lorsque des entrées avec des valeurs identiques sont ajoutées à la collection, quelle est la meilleure façon de gérer cela? Structures personnalisées au lieu de chaînes, puis un datatemplate?

edit: complètement oublié d'expliquer le comportement ... il sélectionne plusieurs valeurs quand je clique sur une seule entrée, toutes les autres valeurs avec le même texte sont sélectionnées.

+0

Firoso, N'utilisez-vous pas un modèle de données? La collection est-elle ObservableCollection ? –

+0

oui c'est dans sa forme actuelle. – Firoso

+0

Que voulez-vous dire par «tombe en panne»? Il est difficile de savoir ce que vous ressentez de votre description. –

Répondre

3

Ce problème existe parce que c'est la nature du contrôle dérivé Selector. Lorsque vous commencez à sélectionner un élément du type ObservableCollection et que votre collection contient des chaînes en double, le sélecteur est désorienté quant à l'élément sélectionné. Vous devez créer une nouvelle classe/struct simple et y mettre votre chaîne.

public class Info 
{ 
    public string Name { get; set; } 
} 

// .. 

MyList = new ObservableCollection<Info>(new List<Info> { new Info { Name = "Hello World" }, new Info { Name = "Hello World" }, new Info { Name = "Hello World" } }); 

et ainsi de suite.

<ListBox ItemsSource="{Binding MyList}" DisplayMemberPath="Name" /> 
+0

ce n'est pas exactement ce que j'ai fait, j'ai utilisé un structure plus détaillée et un modèle de données, mais cela fonctionne^_ ^ – Firoso

Questions connexes