如何在wpf文本框中进行自动完成?

时间:2014-09-05 10:06:43

标签: c# wpf

以下是我用于搜索的代码,它在我们输入整个名称时会返回一个值,但我需要一个自动填充文本框,当我输入部分名称时会显示建议。

private void textBox3_KeyUp_1(object sender, System.Windows.Input.KeyEventArgs e)//Name Search
{
    SqlConnection con = new SqlConnection(constr);
    con.Open();
    SqlCommand cmd = con.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "Select [Patient ID],[Patient Name],[Gender],[StudyDateTim],[Modality],[Study Name] From RepView Where [Patient Name] like '%" + textBox3.Text + "%'";
    cmd.ExecuteNonQuery();
    DataTable dt = new DataTable();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(dt);
    dataGrid1.ItemsSource = dt.DefaultView;
    con.Close();
}

2 个答案:

答案 0 :(得分:3)

您可以使用简单的AutoCompleteTextBox控件和textbox控件创建listbox。这是一个tutorial,它将指导您完成整个过程。

但如果您不想自己创建它,那么您可以使用其他人已经创建的控件。从here下载。

以下是tutorial教你如何使用该控件。

答案 1 :(得分:1)

您还可以通过单击AutoCompleteBoxAutoCompleteBox添加到工具箱中,然后选择项目,转到WPF组件,输入System.Windows <上的过滤器{{1}} / p>