2015-10-25 97 views
1

我與WPF組合框,以示建議掙扎,而用戶鍵入像這樣(在的WinForms):WPF組合框不顯示建議像WinForm的組合框

enter image description here

但是,什麼是happing的是,組合框當用戶鍵入像這樣(在WPF)的追加:

enter image description here

問題 我怎樣才能顯示下拉列表,當用戶正在鍵入作爲建議

很多很多感謝您的關注。

我的代碼:

<ComboBox x:Name="item_category" Width="190" IsEditable="True" SelectionChanged="category_SelectionChanged"/> 

回答

0

安裝此事件添加到您的ComboBox

List<string> db; 
public Window() 
{ 
    InitializeComponent(); 
    db = new List<string> { "abc","abg","hjn" }; 
    cmb1.ItemsSource = db; 
} 

private void cmb1_PreviewTextInput(object sender, TextCompositionEventArgs e) 
{ 
    cmb1.ItemsSource = db.Where(p => p.Contains(e.Text)).ToList(); 
    cmb1.IsDropDownOpen = true; 
} 
+1

@VikasBansal ...'db'是你的'ComboBox'被填充的來源。 –

+0

@ user2946329我的數據源是一個數據表,我將其轉換爲defaultview以綁定它。現在,我這樣做:categories.DefaultView.Where(p => p.Field.Contains(e.Text))。ToList();但它不起作用 –

+0

@VikasBansal ...現在請檢查我更新的答案。這是一個完整的例子,應該適合你。然後您可以根據需要更改數據源。 –

1

您應該使用AutoCompleteBox其行爲下拉列表以及自動完成。在後面的代碼然後

<ComboBox Name="cmb1" IsEditable="True" PreviewTextInput="cmb1_PreviewTextInput"> 
</ComboBox> 

你可以從這個version

+0

它的Silverlight的一部分。我可以在WPF中使用它嗎? –

+1

是的,你可以,有很多的例子 – Sajeetharan

+0

我已經下載了工具包。現在@Sajeetharan如何直接在XML中添加AutoCompleteBox。另外,我將能夠綁定數據和價值成員?可能會感謝:) –