我有一个可编辑的下拉组合框,一切正常。但我希望它只显示匹配项。例如,如果我在其中键入“ A”,则应显示以字母A开头的项目。
下面是我的组合框代码。
<ComboBox Height="23" HorizontalAlignment="Left" Margin="331,65,0,0" Name="comboBox2" VerticalAlignment="Top" Width="163" IsEditable="True" IsTextSearchEnabled="True" PreviewTextInput="ComboBox_PreviewTextInput"/>
这是组合框的绑定源
public void BindComboBox2(ComboBox comboBox2)
{
SqlDataAdapter da = new SqlDataAdapter("Select p_id_pk,p_name,fk_com_id FROM products ", con);
DataSet ds = new DataSet();
da.Fill(ds, "products");
comboBox2.ItemsSource = ds.Tables[0].DefaultView;
comboBox2.DisplayMemberPath = ds.Tables[0].Columns["p_name"].ToString();
comboBox2.SelectedValuePath = ds.Tables[0].Columns["p_id_pk"].ToString();
selected_company = ds.Tables[0].Columns["fk_com_id"].ToString();
}
这里是PreviewTextInput处理程序代码
private void ComboBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
ComboBox comboBox = sender as ComboBox;
comboBox.IsDropDownOpen = true;
}