首页 > 解决方案 > 动态下拉组合框

问题描述

我有一个可编辑的下拉组合框,一切正常。但我希望它应该只显示匹配的项目。例如,如果我在其中键入“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;
    }

标签: c#.netwpfcombobox

解决方案


推荐阅读