C# 如何使WPF AutoCompleteBox接受多个属性进行筛选
我想在自动完成框中的多个字段中搜索,如果用户开始键入字符,我想在ClientName中搜索,如果用户开始键入数字,我想在ClientNumber中搜索 我在互联网上搜索,从中我了解到我应该使用转换器来完成我想要的,但不幸的是,他们没有解释如何编写转换器 这是自动完成框C# 如何使WPF AutoCompleteBox接受多个属性进行筛选,c#,wpf,wpftoolkit,ivalueconverter,autocompletebox,C#,Wpf,Wpftoolkit,Ivalueconverter,Autocompletebox,我想在自动完成框中的多个字段中搜索,如果用户开始键入字符,我想在ClientName中搜索,如果用户开始键入数字,我想在ClientNumber中搜索 我在互联网上搜索,从中我了解到我应该使用转换器来完成我想要的,但不幸的是,他们没有解释如何编写转换器 这是自动完成框 请帮忙 IValueConverter获取值和参数,并返回您希望它返回的任何内容。在绑定中,您将ViewModel发送到转换器,并将其作为值保存在那里。将值强制转换为ViewModel的类型,您可以访问ViewMode。@Nawe
请帮忙 IValueConverter获取值和参数,并返回您希望它返回的任何内容。在绑定中,您将ViewModel发送到转换器,并将其作为值保存在那里。将值强制转换为ViewModel的类型,您可以访问ViewMode。@NawedNabiZada我在IValueConverter中以值的形式接收客户端,这对我没有帮助,我想我应该接收第一个数字来检查这个数字是字符还是数字。。然后返回值Member ClientName或ClientNumber。我是对的?我认为你完全错了。ValueMemberBinding应该绑定到要搜索的属性,您可以将客户端作为ConverterParameter发送,然后您可以将参数的任何属性与所需的值进行比较typing@NawedNabiZada谢谢你的答复,但我真的很困惑。。你能详细解释一下吗。
<toolkit:AutoCompleteBox x:Name="txbClientName" FilterMode="StartsWith" IsTextCompletionEnabled="True"
ItemsSource="{Binding ocClients}"
ValueMemberBinding="{Binding Converter= {StaticResource ClientSearch}}"
SelectedItem="{Binding ElementName=this,
Path=ContactPerson,
Mode=TwoWay,
UpdateSourceTrigger=LostFocus}" PreviewKeyUp="txbClientName_PreviewKeyUp" LostFocus="txbClientName_LostFocus">
<toolkit:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding ContactPerson}"/>
</StackPanel>
</DataTemplate>
</toolkit:AutoCompleteBox.ItemTemplate>
public class ClientSearchConverter : IValueConverter
{
public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//What should I write here !!!
}
public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new System.NotImplementedException();
}
}