wpf c#键入时更新值组合框

wpf c#键入时更新值组合框,c#,wpf,combobox,C#,Wpf,Combobox,我目前正在编写一个具有组合框的wpf应用程序。我从DB中获取combobox的值(使用存储过程),但是,如果我将它们放入cbo中,我会得到大约13000多个值,这会降低应用程序的速度 我想要的是一个cbo(用户可编辑),它只显示10个值,当用户输入时,列表会更新 我对wpf非常陌生(几天之后,甚至一周之后),所以请清楚这一点 谢谢 Jan请看这些文章,这些文章描述了使用ComboBoxes进行虚拟化: 尝试在谷歌上搜索更多的例子。如果你是新来的,我不确定你能理解一个多复杂的答案,你知道数据

我目前正在编写一个具有组合框的wpf应用程序。我从DB中获取combobox的值(使用存储过程),但是,如果我将它们放入cbo中,我会得到大约13000多个值,这会降低应用程序的速度

我想要的是一个cbo(用户可编辑),它只显示10个值,当用户输入时,列表会更新

我对wpf非常陌生(几天之后,甚至一周之后),所以请清楚这一点

谢谢


Jan

请看这些文章,这些文章描述了使用
ComboBox
es进行虚拟化:


尝试在谷歌上搜索更多的例子。

如果你是新来的,我不确定你能理解一个多复杂的答案,你知道数据绑定吗

不管怎样,我会这样做的

在ComboBox的ViewModel中声明您正在管理的类型的ObservableCollection(这是在ComboBox的DataContext属性中设置的对象)。当用户键入信息时,它将在该事件的EventHandler上引发TextChanged事件,使用部分字符串从数据库中获取信息,然后获取结果,并将其放入ObservableCollection中

为此,您需要转到组合框并在ItemsSource属性上启用数据绑定,如下所示:

ItemsSource={Binding Mode=OneWay, Path=NameOfObservableCollectionProperty}

thx 4评论。我在wpf中做的第一件事是创建一个datagrid并将其绑定到一个可观察的集合。我把这部分推迟了几天。我会回到这一点上。