2013-07-31 123 views
0

我目前正在編寫一個wpf應用程序有一個組合框。我從數據庫中獲取組合框的值(使用存儲過程),但是,如果將它們放入cbo中,則會有大約13,000個值,這會減慢應用程序的速度。wpf c#更新值combobox,同時打字

我想要的是一個只顯示10個值的cbo(用戶可編輯),當用戶輸入時,列表被更新。

我對wpf非常陌生(比如幾天,甚至一週),所以請說清楚。

thx !!!

回答

0

如果您是新手,我不確定您可以瞭解的複雜程度有多複雜,您知道DataBinding嗎?

無論如何,這是我該怎麼做的。

在ComboBox的ViewModel中聲明您正在管理的類型的ObservableCollection(這是在ComboBox的DataContext屬性中設置的對象)。當用戶鍵入信息時,它將引發TextChanged事件,在該事件的EventHandler上,使用部分字符串從數據庫獲取信息,然後獲取結果並將其放入ObservableCollection中。

對於這個工作,你需要到您的組合框,使數據綁定的ItemsSource屬性,像這樣:

ItemsSource={Binding Mode=OneWay, Path=NameOfObservableCollectionProperty} 
+0

THX 4註釋。我在wpf中做的第一件事是創建一個數據網格並將其綁定到一個可觀察的集合。幾天後我已經將這部分郵寄過了。會回來這個。 –