我需要创建一个自动搜索控件,它会将结果显示为行http://www.devexpress.com/Products/NET/Controls/WPF/Editors/lookup-editor.xml。但是,我不需要这里的图形和复选框。像外观一样的简单列表视图将起作用。
请建议如何使用WPF创建用户控件。
答案 0 :(得分:2)
Here有一篇关于排序,过滤和分组ListView的文章。
基本上你将CollectionViewSource设置为ListCollectionView。然后,您可以使用Filter Property过滤ListView。
答案 1 :(得分:1)
如果您使用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;}
}