.NET WPF自动完成控件源码下载
下面先来看下WPF自动完成控件的效果图: 开发介绍 : 在WPF中缺少一个支持自动完成的控件,最接近的控件是ComboBox ,它也是实现本篇文章的一个基础控件。 开发背景 : 一个自动完成
下面先来看下WPF自动完成控件的效果图:
开发介绍:
在WPF中缺少一个支持自动完成的控件,最接近的控件是ComboBox ,它也是实现本篇文章的一个基础控件。
开发背景:
一个自动完成控件允许用户输入文本的时候,控件会尽可能的去查询出一个用户已经输入的文本选择项。最流行的自动完成处理是通过查询这个控件当前文本的开头部分。
它是如何运作:
下面是我们关心的一些ComboBox中的属性:
•IsEditable- 这个允许用户在这个控件上输入文本。
•StaysOpenOnEdit - 这个将强制ComboBox在输入时保持打开。
•IsTextSearchEnabled - 这将使用ComboBox默认的自动完成的行为。
我们通过使用上面的属性结合一个控制延迟查询的时间,和允许用户附加新的数据源的事件,以及一些风格样式,来实现自动完成控件。(AutoComplete.xaml.cs文件中)
下面使用这个控件
Code [http://www.xueit.com]
<Window x:Class="Gui.TestWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ctr="clr-namespace:Gui.Controls" Title="Auto Complete Test" Height="200" Width="300" Loaded="Window_Loaded"> <StackPanel> <StackPanel.Resources> <ResourceDictionary Source="/Gui.Controls;component/Styles/AutoComplete.Styles.xaml" /> </StackPanel.Resources> <Label>Cities:</Label> <ctr:AutoComplete x:Name="autoCities" SelectedValuePath="CityID" DisplayMemberPath="Name" PatternChanged="autoCities_PatternChanged" Style="{StaticResource AutoCompleteComboBox}" Delay="500"/> <!-- can also do binding on selected value --> </StackPanel> </Window>
类似一个combobox,自动完成控件利用DisplayMemberPath 和SelectValuePath 属性来绑定具体的数据源
Code [http://www.xueit.com]
/// <summary> /// occurs when the user stops typing after a delayed timespan /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void autoCities_PatternChanged(object sender, Gui.Controls.AutoComplete.AutoCompleteArgs args) { //check if (string.IsNullOrEmpty(args.Pattern)) args.CancelBinding = true; else args.DataSource = TestWindow.GetCities(args.Pattern); }
我们能利用PatternChanged事件来监听控件上当前输入数据的改变。
有趣的地方:
利用MVVM模式能创建一个任何实体的视图模型,并将其绑定到具有突显属性的数据源上。通过使用样式,这突显的部分将显示在下拉框中。
代码:/Files/zhuqil/AutoComplete.zip
精彩图集
精彩文章
热门标签
rowspan
errorwhilelo
性能
远程下载
巡检系统
粉丝数量
多行合成一行
typename
Android
横屏
检查
查询数据
数据表清空
命令历史
遍历子节点
soap消
华为
服务器端
php连接mysql
读取配置文件
HttpURLConne
c异或运算
多条数据
自定义标签
延迟加载技术
Microsoft
层div
ODP
同一分组
60个
读写文件
当前url
异常修
联合数组
区
date命令设置
谈谈
JSP指令
校验器
放大镜效果
dynamic_cast
8个
基础 计算 生肖
进程关闭
参数取不出
for循环
YII2框架
extends
隐藏功
树形结构
typeof运算符
iostream
文件传输
c方法
locale
jquery.nocon
iframe跨域
中文参数
linux服务器
取值
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229