- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经编写了用于在 ComboBox 中过滤项目的代码:
我的问题是,你会怎么做?
我认为这个带有反射的解决方案可能会非常慢..
ICollectionView view = CollectionViewSource.GetDefaultView(newValue);
view.Filter += this.FilterPredicate;
private bool FilterPredicate(object value)
{
if (value == null)
return false;
if (String.IsNullOrEmpty(SearchedText))
return true;
int index = value.ToString().IndexOf(
SearchedText,
0,
StringComparison.InvariantCultureIgnoreCase);
if ( index > -1) return true;
return FindInProperties(new string[] { "Property1", "Property2" }, value, SearchedText);
}
private bool FindInProperties(string[] properties, object value, string txtToFind)
{
PropertyInfo info = null;
for (int i = 0; i < properties.Length; i++)
{
info = value.GetType().GetProperty(properties[i]);
if (info == null) continue;
object s = info.GetValue(value, null);
if (s == null) continue;
int index = s.ToString().IndexOf(
txtToFind,
0,
StringComparison.InvariantCultureIgnoreCase);
if (index > -1) return true;
}
return false;
}
最佳答案
为什么不只是这个:
ICollectionView view = CollectionViewSource.GetDefaultView(newValue);
IEqualityComparer<String> comparer = StringComparer.InvariantCultureIgnoreCase;
view.Filter = o => {
Person p = o as Person;
return p.FirstName.Contains(SearchedText, comparer)
|| p.LastName.Contains(SearchedText, comparer);
}
您需要动态搜索属性吗?
关于WPF ICollectionView 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2140930/
我不明白为什么我的 ICollectionView 没有刷新。谁能解释我做错了什么? 我做了这样一个 View 模型: class ViewModel : INotifyPropertyChanged
有什么办法吗 ICollectionView.Refresh() 或者 CollectionViewSource.GetDefaultView(args.NewValue).Refresh(); 在
我已经编写了用于在 ComboBox 中过滤项目的代码: 我的问题是,你会怎么做? 我认为这个带有反射的解决方案可能会非常慢.. ICollectionView view = CollectionVi
我有一个 ObservableCollection : public ObservableCollection Collection { get; set; } = new ObservableCol
ImageAlbums是一个 ICollectionView类型和 GlobalCollection.MyImageAlubms是一个 ObservableCollection类型。 ImageAlb
也许有人可以帮助我?我有以下场景: 一个简单的 View : Refresh 背后的代码: publ
我有 3 个级联 ICollectionView s 在我的 View 模型中,其中一个依赖于另一个。 第一个不绑定(bind)到 View 上的控件,而是用作两个即将出现的作为主细节显示给用户的键过
我正在尝试在 WPF 中实现 MVVM 模式。我关注了 Jeremy Alles 的 Very simple MVVM demo application 。我有一个 ListBox,它绑定(bind)
我在我的 View 模型中将一个 ListView 绑定(bind)到一个 ICollectionView。 ICollectionView 有一些预定义的过滤器,当您单击某些按钮时会应用这些过滤器。
我有一个类 Class ABC() { public string Name{get;set;} public string Category{get;set;} } 由此类形成的列表
我创建了一个小型用户控件,其中包含一个 ICollectionView 和一个 ObservableCollection。 ObservableCollection messages; public
我有一个名为 ItemType 的对象的集合,每个集合都有一个 Item 的子集合。顶级集合被包装到一个 ObservableCollection 中,因此它会在用户从集合中添加或删除内容时做出响应。
我有一个使用 Entity Framework 查询数据库并将结果放在 ICollectionView 中的方法。 ICollectionView 充当 DataGrid 的 ItemsSource。
有什么方法可以自动更新 ICollectionView 上的过滤器,而无需在进行相关更改时调用 Refresh()? 我有以下内容: [Notify] public ICollectionView W
如何在 C# 中从 ICollectionView 中删除项目? Dictionary entityDict; public ICollectionView DictView { get; set;
我有一个 .Net 4.5 应用程序正在迁移到基于 WPF 的 RxUI(在撰写本文时保持最新,6.0.3)。我有一个文本字段,它应该用作具有相当常见的 throttle 等的过滤器字段,这些东西首先
所以我有一个数据网格,我需要为其添加自定义排序,我还需要知道排序的确切顺序。 我已阅读,为了做到这一点,我需要实现自定义 icollectionview 并将其绑定(bind)到数据网格。 我遇到的问
我有 ICollectionView 看起来像 public ICollectionView UsersCollectionView { get { var view
我将 ObservableCollection 绑定(bind)到 dataGrid,现在我想过滤显示的数据 我发现我需要使用 ICollectionView 但我不确定如何使用我的 MVVM 模式添
我是WPF的新手,看起来我也不完全理解C#。 下面的代码应该向 DataGrid 提供排序后的数据。 这是我难以理解的代码: ObservableCollection PersonsCollectio
我是一名优秀的程序员,十分优秀!