2009-12-23 65 views
0

我需要實現一個可編輯的組合框,用戶可以從數據/表中選擇現有的值。它需要是可編輯的,因爲用戶還可以通過在可編輯組合框中輸入新值來將新行添加到表中,因此我將一個AutoCompleteBox控件放到了我的頁面中,但是我找不到任何有關如何實現此類功能的示例。它應該在可編輯下拉菜單中顯示像Employee Name這樣的東西,同時讓SelectedValue屬性包含員工ID。Silverlight AutoCompleteBox SelectedValue(?)

任何幫助將非常感激。

乾杯!

回答

4

您需要將自動完成框的ItemsSource綁定到「查找」集合。 您可以使用ValueMemberBinding解析要查找的文本輸入,即如果您有人員列表,請將此綁定到Model.Name,像{Binding Name}這樣按名稱查找人員。

只要下拉項目,您可以使用模板來顯示項目你喜歡的方式。 Heres關於這個問題的一個很好的嘖嘖,你想風格的ItemTemplate。從示例開始,您將在ItemsTemplate元素內的xaml中創建一個數據模板,添加一個Textblock並將其Text屬性綁定爲Name,如{Binding Name}。

Here一個很好的例子,其中自動完成框的樣式像組合框一樣。您可以擴展它以查找TextChanged上的「輸入」,並檢查項目是否包含在ItemsSource中。如果不是,它可能會將新值推送到服務器(如果您使用的是MVVM,則可以在ViewModel上引發一個命令,將該委派添加到服務器並更新項目)。

+0

我遇到了AutocompleteBox.Text屬性綁定的問題。我通過用SelectedItem屬性綁定替換Text屬性bindind來實現它。 – ShawnFeatherly 2011-08-26 00:57:04

1

下面是另一個擴展AutoCompleteBox以用作輸入類型組合框的示例。它可以使用DP處理外鍵/查找ID,並可用於MVVM場景。 AutoComplete ComboBox for Silverlight

相關問題