我有一个自定义的wpf组合框,其中ItemsSource是一个长的字符串列表。不希望可编辑的组合框更改itemssource
特殊:通过ComboBox文本框中的文本动态过滤ItemsSource。 这意味着,ItemsSource通过抛出过滤的字符串来更改其ItemCount。 但它永远不应该改变字符串项目本身。但是,这是发生了什么:
为了有一个组合框,让文字输入,我需要设置
IsEditable='True'
例子:这是我的ItemsSource:
Item1000
Item2000
Item3000
当我键入“Item200” ,按回车键,显示要选择的项目:
Item2000
当我没有通过鼠标或上/下选择项目箭头,并按下仅返回键入“Item200”,我下次有这个ItemsSource:
Item1000
Item200
Item3000
我该如何防止这种行为?
我听说在wpf中,Winforms中的所谓“DropDownList”-Style,可以通过设置IsEditable = False来实现。 但是,然后,组合框文本框(它提供了过滤),将不可用,在我的情况下,这是没有选择。 ?
发布过滤代码。 – lisp