问题标签 [collectionviewsource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF 应用程序框架 (WAF) 中的 MVVM 集合视图
简而言之,我的问题是:您更喜欢如何将过滤/排序/分组的 ObservableCollections 公开给 WAF 中的视图?
我对我的第一次尝试感到相当满意,其中涉及在 VM 上进行过滤并公开模型对象的 ICollectionView 以便视图绑定到:
但是,直接公开 Model 对象是不够的,因为现在每个项目都需要自己的 ViewModel。
因此,CollectionViewSource.Source 现在附加到视图集合。主要问题是在应用过滤器时:
这对我来说感觉不对。有更好的方法吗?
更新
所以我恢复到模型对象的 CollectionViewSource.Source 并维护一个单独的视图绑定的子视图对象集合。
那么问题当然是我为什么要在 ViewModel 中使用 CollectionViewSource 呢?
我认为以下原则适用:如果过滤/排序功能只是视图的属性(即替代视图可能合法地不提供此类功能),则应在视图中使用 CollectionViews(必要时使用代码隐藏)。如果过滤/排序功能是 Model 的一个维度,那么这可以通过其他方式在 ViewModel 或 Model 中处理。
一旦您意识到 MVVM 视图中的代码隐藏是完全可以接受的,这就是有道理的。
任何意见?
wpf - 如何处理具有 CollectionView 功能的 CompositeCollection?
当 CompositeCollection 的当前位置发生变化时,有没有办法得到通知?
我需要由 CollectionView 监控 CompositeCollection,欢迎提出任何想法。
wpf - 将 Wpf HierarchicalDataTemplate ItemsSource 绑定到字典中的 CollectionViewSource?
我正在尝试显示一个 Wpf Treeview,其中包含按 CollectionViewSource 排序的项目。
目前,除了在我的资源字典中使用此代码进行排序外,一切正常:
将 HierarchicalDataTemplate 更改为绑定到 CollectionViewSource 的语法是什么,而 CollectionViewSource 又从 Items 属性中提取?
我尝试了 Bea Stollnitz 博客上发布的代码的变体,但没有成功。我不知道如何设置 CollectionViewSource 的来源。
c# - CollectionViewSource Use Question
I am trying to do a basic use of CollectionViewSource and I must be missing something because it is just not working. Here is my XAML:
This compiles fine, but when I run the app I get this error:
This is the collection I am attaching to:
I just want to do simple grouping on object Project SourceProject
. I would rather not have to break out a tree view for this.
wpf - 关于如何对 CompositeCollection 进行排序的任何想法?
我有一个 CompositeCollection,它由两种类型的 ObservableCollections 组成:公司和联系人。Contact 有一个属性 FullName,而 Company 有一个属性 Name。
我想应用排序,以便集合按类型混合但按名称排序,例如:
Itzhak Perlman
John Doe
Microsoft
Sarah Moore
StackOverflow
Walter Richardson
请注意,我将 ItemsControl 绑定到 CollectionViewSource,它的 Source 设置为 CompositeCollection,它的视图变成了 CompositeCollectionView,它是一个内部类型,如果我将它的类型显式设置为 ListCollectionView,它只包含 CollectionContainers 作为它的项目。
所需的解决方案是在 CompositeCollection 上启用排序、过滤和分组的解决方法,我不想覆盖和创建自己的 CompositeCollection,我只是不知道如何覆盖它并在 xaml 中启用它的功能。
wpf - WPF CollectionViewSource 多个视图?
我编写了一个带有搜索扩展名的自定义 WPF 控件,我们将其命名为MyControl
. Control 是一个ItemsControl
类的后代。
所以我像这样将数据源提供给它:
控件本身使用
过滤源集合的视图(从而将其显示在内部列表框中)。
现在假设我们在 XAML 中定义了 10 个具有相同 DynamicSource 的 MyControl。问题是,如果其中一个对源集合应用过滤器,它也会影响所有其他实例。
您将如何更改控件以避免这种行为?
wpf - 查找所有附加到集合的 ICollectionView
我们有多个基于同一个集合的过滤器。即我们以多种方式展示同一个集合。我想做的是在属性更改时要求所有 CollectionViews 刷新(因为只有在从集合中添加/删除项目时,集合视图才会重新过滤)。有没有办法找到与给定集合关联的所有集合视图。集合视图和集合之间是否存在双向链接,或者确定此链接的方法。
PS我不认为答案是
因为这将为我提供集合的默认视图,而不是与集合关联的所有 ICollectionView。
wpf - 你能在 WPF 的 CollectionViewSource 中关闭选择同步吗?
我有几个 CollectionViewSource 实例都在同一个 ObservableCollection 上使用。我还有几个控件需要显示集合的过滤版本(因此是 CollectionViewSources)。我遇到的问题是 CollectionViewSource 强制他们都选择了相同的项目。有什么办法可以关闭它吗?
谢谢,杰森刘易斯
c# - ICollectionView.SortDescriptions 不适用于布尔值
myListBox.Items.SortDescriptions.Add(new SortDescription("BoolProperty", ListSortDirection.Descending));
此排序仅适用于基础项目的字符串属性。不带布尔值?这有什么原因吗?
谢谢 !
更新:
是的,您的示例确实有效。但是我的例子有什么问题?
wpf - CollectionViewSource 和 Linq
在 CollectionViewSource 中查找项目的最简单方法是什么?我似乎找不到对 linq 友好的属性。我想做类似 MyCollectionViewSource.View.Where(x=>x...)
干杯,
贝里尔