Problèmes d'utilisation de ListBox et de la collection observable en tant que journal de débogage

StackOverflow https://stackoverflow.com/questions/1615100

Question

J'ai une zone de liste liée à une collection observable de modèle de vue:

Cela fonctionne bien, moins un petit accroc ... en supposant que la collection observable contient des chaînes, tout s’efface lorsque des entrées ayant des valeurs identiques sont ajoutées à la collection, quel est le meilleur moyen de gérer cela? Une structure personnalisée à la place de chaînes puis d'un modèle de données?

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

Était-ce utile?

La solution

Ce problème existe parce que c’est la nature du contrôle dérivé du sélecteur. 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 confus quant à l'élément sélectionné. Vous devez créer une nouvelle classe / structure simple et y placer 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 comme si.

<ListBox ItemsSource="{Binding MyList}" DisplayMemberPath="Name" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top