C# 如何通过更改文本来更改组合框中的下拉项?

C# 如何通过更改文本来更改组合框中的下拉项?,c#,.net,wpf,wpf-controls,wpfdatagrid,C#,.net,Wpf,Wpf Controls,Wpfdatagrid,我正在使用EPF C#开发POS。要添加saleline项目,我想使用combobox,并希望通过更改combobox中的文本来更改下拉列表的选择以进行搜索?如何使用Textchanged属性或任何其他方式更改combox列表项?我也可以为此使用datagrid列或datagrid吗?阅读您的评论后,您似乎需要一个能够过滤项目列表的文本框。我的建议是订阅TextBox“textchanged”活动 然后使用用于订阅事件的方法进行筛选 private void Textbox_TextChange

我正在使用EPF C#开发POS。要添加saleline项目,我想使用combobox,并希望通过更改combobox中的文本来更改下拉列表的选择以进行搜索?如何使用Textchanged属性或任何其他方式更改combox列表项?我也可以为此使用datagrid列或datagrid吗?

阅读您的评论后,您似乎需要一个能够过滤项目列表的文本框。我的建议是订阅TextBox“textchanged”活动

然后使用用于订阅事件的方法进行筛选

private void Textbox_TextChanged(object sender, TextChangedEventArgs e)
{
    //do list sorting here ex.)
    List<string> FilteredResults = SomeList<string>.where(i => i.Contains(textbox.text)).ToList();
}
private void Textbox\u TextChanged(对象发送者,textchangedventargs e)
{
//在此处进行列表排序(例如)
List FilteredResults=SomeList.where(i=>i.Contains(textbox.text)).ToList();
}
这将得到一个过滤后的项目列表(本例中为字符串),然后可以在组合框中显示


注意:MVVM设计模式使这一点变得非常简单和干净

如果我读对了问题,你不能订阅组合框的textinput或keydown事件吗?那么您所要做的就是在事件委托中写入您的逻辑?对不起!那是我的错。我希望用户通过在文本框中写入产品名称来搜索要添加到saleline项目中的产品,它将像大多数pos软件一样显示在数据网格中,但我也希望在他为产品写入名称时给他一些建议,比如在安卓中搜索联系人,您只需写一封信,相关名称就会显示在列表中。那么,Datagrid可以提供它吗?或者Combobox是最好的选择,因为它有一个下拉列表?所以,请解释一下我是如何做到的。没问题,很高兴我能帮上忙!
private void Textbox_TextChanged(object sender, TextChangedEventArgs e)
{
    //do list sorting here ex.)
    List<string> FilteredResults = SomeList<string>.where(i => i.Contains(textbox.text)).ToList();
}