2009-03-09 23 views
13

Tôi có một ComboBox trong WPF có ItemsSource được đặt thành một danh sách lập trình. Làm thế nào tôi sẽ đi về việc xóa các lựa chọn trong một xử lý sự kiện? Tôi đã thử:Chọn lọc có lập trình trong WPF ComboBox

comboBox.SelectedIndex = -1; 
comboBox.SelectedItem = null; 
comboBox.SelectedValue = null; 
comboBox.SelectedValue = ""; 

Không ai trong số họ có bất kỳ tác dụng.

Trả lời

20

comboBox.SelectedIndex = -1; phù hợp với tôi.

Bạn có đang làm gì khác trong trình xử lý sự kiện của mình không? Bạn đang sử dụng databinding?

+1

Không, tôi không sử dụng bất kỳ ràng buộc dữ liệu nào. Chỉ cần kiểm tra lại. –

+0

Hãy thử làm một 'tìm tất cả các tài liệu tham khảo' cho comboBox và nhận xét ra mã để tìm ra vấn đề. – laktak

5
comboBox.SelectedIndex = -1; 

Có cách để đi. Tôi không biết tại sao nó không hiệu quả với bạn; có lẽ một xử lý sự kiện cho SelectedIndexChanged thay đổi giá trị?

3

tôi thấy rằng tôi cần thiết cũng thêm:

comboBox.Text = ""; 

để có được những văn bản để xóa

1

Tôi muốn xóa ComboBox trong DropDownClosed trường hợp ComboBox khác. Do đó, tôi đã sử dụng mã sau bên trong số ComboBoxDropDownClosed sự kiện

private void comboBox1_DropDownClosed(object sender, EventArgs e) 
{ 
    this.comboBox.ItemsSource = null; 
} 
Các vấn đề liên quan