如何使用 contains
实现我的 Combobox TextSearch而不是 StartsWith
<rf:ComboBox Grid.Row="1"
Grid.Column="5"
Width="200"
ItemsSource="{Binding Source={StaticResource AccountProvider}}"
DisplayMemberPath="Description"
SelectedValuePath="IndRekId"
IsEmptyItemVisible="True"
SelectedValue="{Binding Id, UpdateSourceTrigger=PropertyChanged}"
IsTextSearchEnabled="True"
TextSearch.TextPath="Description"
IsEditable="True"/>
搜索功能有效,但我需要匹配子字符串
最佳答案
试试这个:
<ComboBox Padding="3,5" MinWidth="150" SelectedItem="{Binding NewBoxRequest}"
ItemsSource="{Binding Requests}" DisplayMemberPath="SN" IsEditable="True"
StaysOpenOnEdit="True"
Text="{Binding SnFilter,UpdateSourceTrigger=PropertyChanged}">
</ComboBox>
查看模型:
private string snFilter;
public string SnFilter
{
get { return snFilter; }
set
{
snFilter = value;
RaisePropertyChanged();
RaisePropertyChanged(nameof(Requests));
}
}
private List<Request> requests;
public List<Request> Requests
{
get => string.IsNullOrEmpty(SnFilter) || requests.Any(r => r.SN == SnFilter)
? requests
: requests.Where(r => r.SN.Contains(SnFilter)).ToList();
set
{
requests = value;
RaisePropertyChanged();
}
}
关于带有包含的 WPF 组合框文本搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15427341/