Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使WPF AutoCompleteBox接受多个属性进行筛选_C#_Wpf_Wpftoolkit_Ivalueconverter_Autocompletebox - Fatal编程技术网

C# 如何使WPF AutoCompleteBox接受多个属性进行筛选

C# 如何使WPF AutoCompleteBox接受多个属性进行筛选,c#,wpf,wpftoolkit,ivalueconverter,autocompletebox,C#,Wpf,Wpftoolkit,Ivalueconverter,Autocompletebox,我想在自动完成框中的多个字段中搜索,如果用户开始键入字符,我想在ClientName中搜索,如果用户开始键入数字,我想在ClientNumber中搜索 我在互联网上搜索,从中我了解到我应该使用转换器来完成我想要的,但不幸的是,他们没有解释如何编写转换器 这是自动完成框 请帮忙 IValueConverter获取值和参数,并返回您希望它返回的任何内容。在绑定中,您将ViewModel发送到转换器,并将其作为值保存在那里。将值强制转换为ViewModel的类型,您可以访问ViewMode。@Nawe

我想在自动完成框中的多个字段中搜索,如果用户开始键入字符,我想在ClientName中搜索,如果用户开始键入数字,我想在ClientNumber中搜索

我在互联网上搜索,从中我了解到我应该使用转换器来完成我想要的,但不幸的是,他们没有解释如何编写转换器

这是自动完成框


请帮忙

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();
    }
}