我需要创建一个自动搜索控件,它将结果显示为这样的行http://www.devexpress.com/Products/NET/Controls/WPF/Editors/lookup-editor.xml。但是,我不需要这里的图形和复选框。像外观这样的简单列表视图将起作用。
请建议如何使用 WPF 创建用户控件。
我需要创建一个自动搜索控件,它将结果显示为这样的行http://www.devexpress.com/Products/NET/Controls/WPF/Editors/lookup-editor.xml。但是,我不需要这里的图形和复选框。像外观这样的简单列表视图将起作用。
请建议如何使用 WPF 创建用户控件。
这里有一篇关于排序、过滤和分组 ListView 的好文章。
基本上你将CollectionViewSource设置为 ListCollectionView。然后,您可以使用Filter 属性来过滤 ListView。
如果您使用的是 MVVM 方法,则可以执行以下操作:
像这样的东西:
XAML:
<TextBox Text="{Binding Path=SearchTerm, UpdateSourceTrigger=PropertyChanged}"/>
<ListView ItemsSource="{Binding Path=SourceCollection}" SelectedItem="{Binding Path=SelectedSearchItem, Mode=TwoWay}" />
代码:
public class ViewModel : INotifyPropertyChanged
{
public string SearchTerm
{
get { return searchTerm; }
set {
searchTerm = value;
SelectedSearchItem = SourceCollection.FirstOrDefault(foo => foo.Name.Contains(searchTerm));
}
}
public Foo SelectedSearchItem
{
get { return selecedSearchItem; }
set {
selectedSearchItem = value;
// Raise PropertyChanged
}
}
public ObservableCollection<Foo> SourceCollection { get; set;}
}