AutoCompleteBox控件方便用户查询,查询英文很好用,中文的话相对麻烦,毕竟中文输入没有英文快呀。
如果可以输入中文对应的首字母拼音,查询就快了。这可以用自定义查询实现:
页面例子:
<sdk:AutoCompleteBox Height="30" Name="autoCompleteBox1" Width="274"
ItemsSource="{Binding Path=ProductList}" FilterMode="Custom" ValueMemberPath="ProductName">
<sdk:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=ProductName}" />
</StackPanel>
</DataTemplate>
</sdk:AutoCompleteBox.ItemTemplate>
</sdk:AutoCompleteBox>
构造:autoCompleteBox1.ItemFilter += Search;
bool Search(string search, object value)
{
Product emp = value as Product;
if (emp != null)
{
if (emp.ShortName.ToLower().StartsWith(search))
{
return true;
}
return false;
}
}
说明:
Product类
ProductName(中文名称)
ShortName(拼音缩写)