1.概述:
AutoCompleteBox是一个给出友好用户提示的控件,当用户在文本框当中输入首字母的时候,该控件会弹出首字母为输入字母的内容让用户选择,从而可以减少用户输入量.支持数据绑定.用户可以自定义弹出内容.2.引入方法要使用该控件我们必须引入 Microsoft.Phone.Controls.Toolkit.dll,关于如何引入该dll,链接如下:
http://sxchao.blog.51cto.com/907640/850354
3.该类层次结构
System..::..Object
System.Windows..::..DependencyObject
System.Windows..::..UIElement
System.Windows..::..FrameworkElement
System.Windows.Controls..::..Control
Microsoft.Phone.Controls..::..AutoCompleteBox
4.在xaml当中的如何使用:a.引入命名空间
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
b.加入控件布局
<toolkit:AutoCompleteBox x:Name="acBox" Height="80"/>
5.cs代码当中如何使用:
using Microsoft.Phone.Controls; //引入命名空间
//初始化该控件
AutoCompleteBox acBox = new AutoCompleteBox();
//设置该控件的一些属性,位置,大小方向等..省略..
...
..
- List<string> cities = new List<string>();
- cities.Add("Barcelona");
- cities.Add("Bogota");
- cities.Add("Berlin");
- cities.Add("London");
- cities.Add("Las Vegas");
- cities.Add("New York");
- cities.Add("New Castle");
- cities.Add("Sofia");
- cities.Add("Paris");
- cities.Add("Prague");
- cities.Add("Madrid");
- cities.Add("Milan");
- this.acBox.ItemsSource = cities;
6. 重要属性
FilterMode
设置接口筛选模式.
AutoCompleteFilterMode. StartsWithCaseSensitive
大小写敏感
AutoCompleteFilterMode. Contains
只要整个字符串当中包含用户输入的字符,就弹出提示
AutoCompleteFilterMode .ContainsCaseSensitive
包含该字符+大小写敏感
AutoCompleteFilterMode .StartsWithCaseSensitive
首字母过滤+大小写敏感
设置自定义过滤模式.
- this.acBox.ItemFilter = SearchCountry;
- //...
- bool SearchCountry(string search, object value)
- {
- if (value != null)
- {
- //寻找尾字母匹配选项
- if (value.ToString().ToLower().EndsWith(search))
- return true;
- }
- // If no match, return false.
- return false;
- }
TextFilter
同样是用于设置自定义过滤模式
- this.acBox.TextFilter += CustomFilter;
- //...
- bool CustomFilter(string search, string value)
- {
- return (value.Length > 6);
- }
MinimumPopulateDelay
延迟弹出时间 默认为0,以毫秒为单位计时,3000则为用户输入匹配字符3秒后弹出筛选结果 this.acBox.MinimumPopulateDelay = 2000;
MinimumPrefixLength
最小前缀长度,默认值为1.如果设置为2,则用户至少需要输入2个或者2个以上字符后才给出筛选结果。 this.acBox.MinimumPrefixLength = 6;
Text
设置控件默认展示项
this.acBox.Text=”sxchao博客”;
InputScope
设置输入法键盘,例子是设置输入法为数字
- <toolkit:AutoCompleteBox Grid.Row="0" x:Name="acBox" Height="80" Text="sxchao2008博客">
- <toolkit:AutoCompleteBox.InputScope>
- <InputScope>
- <InputScopeName NameValue="Number"></InputScopeName>
- </InputScope>
- </toolkit:AutoCompleteBox.InputScope>
- </toolkit:AutoCompleteBox>
ItemsSource
设置数据绑定集合
- cities.Add("Sofia");
- cities.Add("Paris");
- cities.Add("Prague");
- cities.Add("Madrid");
- cities.Add("Milan");
- this.acBox.ItemsSource = cities;
SelectedItem
设置当前选中项的值 this.acBox.SelectedItem = "sxchao2008";