3 Stimmen

Probleme bei der Verwendung von ListBox und observable collection als Debug-Protokoll

Ich habe eine Listbox zu einer Ansicht Modell beobachtbare Sammlung gebunden:

Dies funktioniert gut, minus ein kleines Problem... vorausgesetzt, dass die beobachtbare Sammlung Zeichenfolgen enthält, die ganze Sache bricht zusammen, wenn Einträge mit identischen Werten der Sammlung hinzugefügt werden, was ist der beste Weg, dies zu behandeln? Benutzerdefinierte Struktur anstelle von Zeichenfolgen und dann ein Datatemplate?

Bearbeiten: völlig vergessen, das Verhalten zu erklären... es wählt mehrere Werte, wenn ich auf einen einzelnen Eintrag klicke, alle anderen Werte mit dem gleichen Text werden ausgewählt.

3voto

Tri Q Tran Punkte 5200

Dieses Problem besteht, weil es in der Natur des abgeleiteten Steuerelements Selector liegt. Wenn Sie beginnen, ein Element aus dem Typ ObservableCollection auszuwählen und Ihre Sammlung enthält doppelte Zeichenfolgen, ist der Selektor verwirrt, welches Element er ausgewählt hat. Sie müssen eine neue einfache Klasse/Struktur erstellen und Ihre Zeichenfolge dort einfügen.

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" } });

und so weiter.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X