Schlüsselwertpaar Combobox in WPF

7

Berücksichtigen Sie, dass ich eine Schlüsselwertpaarkollektion (Ex-Schlüssel = MSFT-Wert = MSFT Microsoft) habe, die ich an die ComboBox anbinde. DisplayMeeperPath = Wert. Das Folgende muss durchgeführt werden

  • Bei der Auswahl eines Elements muss nur der Schlüssel in Combo angezeigt werden,

  • Der Benutzer könnte auch einen brandneuen Wert in der Combo eingeben.

Ich kann keine Lösung finden, die diese beiden Funktionen unterstützt. Solving One bricht das andere.

%Vor%     
Rauld 15.12.2011, 13:53
quelle

3 Antworten

27

Ich denke, was Sie suchen, ist wie folgt.

%Vor%

Dann gehst du weiter und nimmst diese Klasse so

%Vor%

Und binden Sie es an die Combobox, die Sie haben

%Vor%

Und wenn Sie darauf zugreifen müssen, tun Sie dies einfach

%Vor%

Das ist alles was Sie tun müssen.

    
Alam 09.03.2013, 10:30
quelle
3

Erweiterung des Adams-Beispiels um eine noch allgemeinere Lösung.

Erstellen Sie in der Datei "xaml.cs" eine beobachtbare Auflistungseigenschaft, und weisen Sie ihr eine Auflistung zu.

%Vor%

In der XAML-Datei binden Sie Ihre beobachtbare Sammlung in die Eigenschaft ein, die Sie im hinterlegten Code erstellt haben.

%Vor%

Sie können DisplayMemberPath="Key" in DisplayMemberPath="Value" ändern, wenn Sie stattdessen den Wert anzeigen möchten.

    
SINGULARITY 04.10.2016 22:47
quelle
-3

Ich glaube nicht, dass eine gerade aus der Box Combobox ist das richtige UI-Element für Sie in dieser Situation zu verwenden. Das Problem hierbei ist, dass die Combobox keine Schlüssel / Wert-Paare unterstützt, insbesondere wenn Sie möchten, dass der Benutzer dem Wörterbuch Werte hinzufügen kann, während Sie an den Schlüssel gebunden sind. Wenn Sie beispielsweise zulassen, dass sie einen Wert hinzufügen, wie fügen sie den Schlüssel hinzu oder wählen Sie den zu aktualisierenden Schlüssel aus?

Ich denke, die Lösung besteht darin, zwei Steuerelemente zu haben: ein Kombinationsfeld für die Schlüsselauswahl und ein Textfeld für die Werteingabe. Das Textfeld Werte ist ausgeblendet, bis der Benutzer einen Schlüssel auswählt. Sobald die Taste ausgewählt ist, lassen Sie sie ihre Werteingabe in das Textfeld eingeben und drücken Sie die Eingabetaste oder eine Taste und stellen Sie den Wert auf die ausgewählte Taste ein.

    
Josh 15.12.2011 14:28
quelle

Tags und Links