WPF - dodaj elementy statyczne do pola kombi

83

Powiedziałem to już wcześniej i powtórzę, najłatwiejsze przykłady dla WPF są też najtrudniejsze do znalezienia w sieci :)

Mam pole kombi, które muszę wyświetlić, ale nie musi ono zawierać danych ani niczego innego, zawartość jest statyczna. Jak mogę dodać statyczną listę elementów do mojego pola kombi przy użyciu XAML?

Nieznany koder
źródło

Odpowiedzi:

132

Oto kod z MSDN i link - Link do artykułu , który powinieneś sprawdzić, aby uzyskać więcej szczegółów.

<ComboBox Text="Is not open">
    <ComboBoxItem Name="cbi1">Item1</ComboBoxItem>
    <ComboBoxItem Name="cbi2">Item2</ComboBoxItem>
    <ComboBoxItem Name="cbi3">Item3</ComboBoxItem>
</ComboBox>
Wade73
źródło
22

Lubię to:

<ComboBox Text="MyCombo">
<ComboBoxItem  Name="cbi1">Item1</ComboBoxItem>
<ComboBoxItem  Name="cbi2">Item2</ComboBoxItem>
<ComboBoxItem  Name="cbi3">Item3</ComboBoxItem>
</ComboBox>
Tony Lew
źródło
10

Możesz także dodać elementy w kodzie:

cboWhatever.Items.Add("SomeItem");

Ponadto, aby dodać coś, w którym kontrolujesz wyświetlanie / wartość (z mojego doświadczenia prawie kategorycznie potrzebne), możesz to zrobić. Znalazłem tutaj dobre odniesienie do stackoverflow:

Combobox pary klucz-wartość w WPF

Kod podsumowujący wyglądałby mniej więcej tak:

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
źródło
2
<ComboBox Text="Something">
            <ComboBoxItem Content="Item1"></ComboBoxItem >
            <ComboBoxItem Content="Item2"></ComboBoxItem >
            <ComboBoxItem Content="Item3"></ComboBoxItem >
</ComboBox>
ritesh seth
źródło
1
Dodaj również informacje, dlaczego Twoje rozwiązanie może pomóc OP
milo526