WPF - Hinzufügen statischer Elemente zu einem Kombinationsfeld

82

Ich habe es schon einmal gesagt und ich werde es noch einmal sagen, die einfachsten Beispiele für WPF sind auch im Web am schwersten zu finden :)

Ich habe ein Kombinationsfeld, das ich anzeigen muss, aber es muss nicht datengebunden sein oder irgendetwas anderes, der Inhalt ist statisch. Wie kann ich mit XAML eine statische Liste von Elementen zu meinem Kombinationsfeld hinzufügen?

Unbekannter Codierer
quelle

Antworten:

130

Hier ist der Code von MSDN und der Link - Article Link , den Sie für weitere Details überprüfen sollten.

<ComboBox Text="Is not open">
    <ComboBoxItem Name="cbi1">Item1</ComboBoxItem>
    <ComboBoxItem Name="cbi2">Item2</ComboBoxItem>
    <ComboBoxItem Name="cbi3">Item3</ComboBoxItem>
</ComboBox>
Wade73
quelle
22

So was:

<ComboBox Text="MyCombo">
<ComboBoxItem  Name="cbi1">Item1</ComboBoxItem>
<ComboBoxItem  Name="cbi2">Item2</ComboBoxItem>
<ComboBoxItem  Name="cbi3">Item3</ComboBoxItem>
</ComboBox>
Tony der Löwe
quelle
9

Sie können auch Elemente im Code hinzufügen:

cboWhatever.Items.Add("SomeItem");

Sie können dies auch tun, um etwas hinzuzufügen, bei dem Sie die Anzeige / den Wert steuern (meiner Erfahrung nach fast kategorisch erforderlich). Ich habe hier eine gute Stackoverflow-Referenz gefunden:

Schlüsselwertpaar Combobox in WPF

Summencode wäre ungefähr so:

ComboBox cboSomething = new ComboBox();
cboSomething.DisplayMemberPath = "Key";
cboSomething.SelectedValuePath = "Value";
cboSomething.Items.Add(new KeyValuePair<string, string>("Something", "WhyNot"));
cboSomething.Items.Add(new KeyValuePair<string, string>("Deus", "Why"));
cboSomething.Items.Add(new KeyValuePair<string, string>("Flirptidee", "Stuff"));
cboSomething.Items.Add(new KeyValuePair<string, string>("Fernum", "Blictor"));
omJohn8372
quelle
2
<ComboBox Text="Something">
            <ComboBoxItem Content="Item1"></ComboBoxItem >
            <ComboBoxItem Content="Item2"></ComboBoxItem >
            <ComboBoxItem Content="Item3"></ComboBoxItem >
</ComboBox>
Ritesh Seth
quelle
1
Bitte fügen Sie auch Informationen hinzu, warum Ihre Lösung dem OP helfen könnte
milo526