WPF中让Combobox具有查找功能

需求:由于combobox绑定的数据源数量比较多,如果让用户在下拉列中查找,难免会不太方便,于是就需要让combobox可以输入内容,并且希望根据用户输入的内容去自动匹配,这样效率就会提高!

先在xaml中添加一个combobox:

<Grid>
        <ComboBox IsTextSearchEnabled="False" IsEditable="True"   Height="23" HorizontalAlignment="Left" Margin="12,23,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120"  KeyUp="comboBox1_KeyUp" />

</Grid>

先看设置的属性:
IsEditable就是启用或禁用 ComboBox 的文本框中的文本编辑,让combobox可以输入内容
IsTextSearchEnabled就是是否开启TextSearch,默认是开启的
接着就是给combobox设置数据源了
 public partial class MainWindow : Window    {        List<string> list = new List<string> { "aa", "bb", "abc", "csd", "sdlfks", "osdi", "awd" };        public MainWindow()        {            InitializeComponent();            comboBox1.ItemsSource = list;
	 }

在keyup中写代码,根据当前输入的内容去数据源中模糊查找出匹配的数据显示在下拉列中,代码如下:

private void comboBox1_KeyUp(object sender, KeyEventArgs e)
        {

List<string> mylist = new List<string>();
            mylist = list.FindAll(delegate(string s) { return s.Contains(comboBox1.Text.Trim()); });
            comboBox1.ItemsSource = mylist;
            comboBox1.IsDropDownOpen = true;
        }

时间: 2024-10-08 02:26:31

WPF中让Combobox具有查找功能的相关文章

WPF中实现根据拼音查找汉字

1.WPF的一个触摸屏项目,需要输入姓名,但是屏幕不支持汉字输入,使用虚拟键盘不稳定,为了解决该问题特此进行处理. 2.新建一个类转换类,里面初始化一个数组,数组包含拼音,以及拼音下的常用的汉字. 3.根据拼音,对照出对应的汉字,然后在对汉字进行拆分,获取到单个汉字. 例子如下: private static readonly string[][] _Allhz = new string[][] { new string[]{"A","啊阿呵吖嗄腌锕錒"}, new

WPF中类似使用tab键功能,可以向上向下定位

private void tbYyrs_KeyUp(object sender, KeyEventArgs e) { UIElement element = Keyboard.FocusedElement as UIElement; if (e.Key == Key.Down || e.Key == Key.Enter) { if (element != null) { element.MoveFocus(new TraversalRequest(FocusNavigationDirection

在WPF中让ListBox和ComboBox的快速检索功能失效

问题来源: 自定义一个ComboBox,用来显示日期.后台数据使用的是DateTime,经过Converter转化成“2015年01月01日”样子的成字符串用于显示. 但是,在实际使用中,不停的按下“[”键,光标会从以一个元素一下一下的向下移动. 经过调查,这是ComboBox的“快速检索”功能在作祟. 关于快速检索: WPF中ListBox和ComboBox有一个“快速检索”的功能. 比如在ListBox里,按下“a”键,光标会定位到第一个首字母为“a”的Item上. ComboBox也是一样

WPF中实现拍照功能(利用“WPFMediaKit.dll”)

开始先展示下效果图: -------------------------------下面记录步骤:------------------------------------------------------ 下载“WPFMediaKit.dll”程序开发包,用在项目中添加引用: 在WPF窗口引入并命名: xmlns:wpfMedia="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit" 在界面用到一个V

使用vs的查找功能,简单大概的统计vs中的代码行数

VS强大的查找功能,可以使用正则表达式来进行查找,这里统计代码行数的原理就是: 在所有指定文件中进行搜索,统计匹配的文本行数. 但是匹配的行需要满足:非注释.非空等特殊非代码行. 使用Ctrl+Shift+F快捷键打开高级查找,可以设置查找内容为正则表达式(需要在下面勾选,同时可以设置查找的文件类型),查找范围请根据需要进行设置. 点击"查找全部"搜索整个解决方案,可以得到查找结果: 最下面会列出匹配行数,这个就是我们所谓的代码行数的估值了...不过这个值也太不准确了... 但是起码有

WPF中查找控件的扩展类

在wpf中查找控件要用到VisualTreeHelper类,但这个类并没有按照名字查找控件的方法,于是搜索网络,整理出下面这个类,感觉用起来很是方便. 贴出来,供大家参考. /// <summary> /// WPF/Silverlight 查找控件扩展方法 /// </summary> public static class VisualHelperTreeExtension { /// <summary> /// 根据控件名称,查找父控件 /// elementNa

WPF中ComboBox用法

The ComboBox control is in many ways like the ListBox control, but takes up a lot less space, because the list of items is hidden when not needed. The ComboBox control is used many places in Windows, but to make sure that everyone knows how it looks

ComboBox在WPF中的绑定示例:绑定项、集合、转换,及其源代码

在WPF的Xaml中为ComboBox绑定数据时,由于参数很多,很容易混淆,在ListView中使用更是如此.本文通过对ComboBox在窗口和在ListView中绑定对象的属性和属性可能是枚举类型的情况进行简单讲解和示例,以作实际应用参照. 源码可以到这里下载:ComboBoxBindings.rar 1.ComboBox在窗口容器中的情况 2.ComboBox在ListView中的情况 3.绑定枚举 示例中做枚举类型Sex的绑定时,先在Xaml中绑定值,然后在ComboBox的ItemsSo

WPF中使用AxisAngleRotation3D实现CAD的2D旋转功能

原文:WPF中使用AxisAngleRotation3D实现CAD的2D旋转功能 ????? 对于CAD图形来说,3D旋转比较常用,具体实现方法在上篇文章<WPF中3D旋转的实现 >中做了讲解,可以参考Daniel. ????? 今天说一下CAD的2D旋转,2D旋转虽然不如3D那么常用,但也是CAD操作的基本功能需要实现.刚开始的做法是觉得用AxisAngleRotation3D没法实现2D旋转,所以用RotateTransform去实现.但是用它遇到的问题是旋转的transform没有考虑在