WPF - thêm các mục tĩnh vào hộp tổ hợp


82

Tôi đã từng nói rồi và tôi sẽ nói lại lần nữa, các ví dụ đơn giản nhất cho WPF cũng là các ví dụ khó tìm nhất trên web :)

Tôi có một hộp tổ hợp mà tôi cần hiển thị nhưng nó không cần phải được kết hợp dữ liệu hoặc bất cứ thứ gì khác, nội dung là tĩnh. Làm cách nào để thêm danh sách tĩnh các mục vào hộp tổ hợp bằng XAML?

Câu trả lời:


131

Đây là mã từ MSDN và liên kết - Liên kết Bài viết , bạn nên xem để biết thêm chi tiết.

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

22

Như thế này:

<ComboBox Text="MyCombo">
<ComboBoxItem  Name="cbi1">Item1</ComboBoxItem>
<ComboBoxItem  Name="cbi2">Item2</ComboBoxItem>
<ComboBoxItem  Name="cbi3">Item3</ComboBoxItem>
</ComboBox>

10

Bạn cũng có thể thêm các mục trong mã:

cboWhatever.Items.Add("SomeItem");

Ngoài ra, để thêm một cái gì đó mà bạn kiểm soát hiển thị / giá trị, (hầu như cần thiết theo kinh nghiệm của tôi) bạn có thể làm như vậy. Tôi đã tìm thấy một tham chiếu stackoverflow tốt ở đây:

Hộp tổ hợp cặp giá trị chính trong WPF

Mã tổng hợp sẽ như thế này:

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

2
<ComboBox Text="Something">
            <ComboBoxItem Content="Item1"></ComboBoxItem >
            <ComboBoxItem Content="Item2"></ComboBoxItem >
            <ComboBoxItem Content="Item3"></ComboBoxItem >
</ComboBox>

1
Vui lòng thêm thông tin như quá tại sao giải pháp của bạn có thể giúp OP
milo526
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.