问题标签 [collectionview]
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.
c# - 如何更改 CollectionView.Source 的绑定?
最初我在 XAML 中有这段代码:
但我想在 C# 代码中保留一个绑定对象,以便能够动态更改它的 xpath。目前我有这个代码:
这会编译并且不会抱怨,但是当被调用时它只会导致一个空列表。我似乎无法在网络上找到相关的示例——它们中的大多数都与数据提供者打交道,但我想更改绑定。
- 有人知道如何解决这个问题吗?
- 还是有更好的方法来做到这一点?
- 也许从collectionview中检索绑定对象并更改它?
c# - C#/WPF CollectionView - 如何在特定位置添加项目
我正在使用ListCollectionView对象来显示项目列表。目前,我正在构建一个包含其中两个列表的屏幕 - 一个,completeList
,包含所有可用项目,另一个,sortedList
,包含其中的一个子集,并且项目顺序相关。这里可能采取的行动是
- 添加或删除任何
completeList
项目到/从sortedList
- 向上或向下移动项目
sortedList
- 保存的内容
sortedList
。
现在,我的问题是:是否有可能将项目插入到sortedList
定义的位置?
现在,无论当前标记的项目如何,它们都将始终添加到列表的末尾,而且我没有找到解决方法 - 除了明显的肮脏黑客之外,这将使我在需要之后存储所有项目位置,从列表中删除它们,添加新项目,然后以正确的顺序重新添加所有存储的项目。
ListCollectionView 是否提供任何此类功能,或者是否有另一个 CollectionView 类可以解决问题?
wpf - WPF - 即使在过滤之后,收集计数也保持不变
我有一个列表框,它绑定到称为照片的照片类型集合。
我有一个绑定到照片的计数属性的标签。
在初始状态,照片包含 8 个项目,标签显示了这一点。即使在使 ListBox 中显示的项目为 5 的过滤后,绑定到 photos.Count 属性的标签仍然显示 8 个项目(当然因为照片集合没有改变,只有默认的 CollectionView 被改变了。
如何使我的标签绑定到照片默认 CollectionView 的 Count 属性?
我知道如何使用我创建的 CollectionViewSource(例如作为资源)来实现这一点,但我想知道如何绑定到默认集合视图的计数。
谢谢
wpf - 检测 CollectionView 何时刷新
如何检测集合视图何时刷新?
c# - 使用 ICollectionView 多次过滤集合
我正在尝试过滤显示在 DataGrid 中的 ObservableCollection。这第一次效果很好,但是当我再次尝试过滤时,它使用 sourcecollection 而不是过滤后的结果。短代码示例:
所以我想要做的是只过滤显示在我的 DataGrid 中的项目,而不是整个集合(当然,第一次使用过滤器时,它将使用整个集合)。
c# - 当高度未固定时,CollectionView 过滤器会冻结 UI?
我有一个 ListBox 数据绑定到 ObservableCollection 并且有一个复杂的 ItemContainerStyle (带有图像、进度条和文本)
当我尝试在其 CollectionView 上应用过滤器时,集合中有大约 200 个项目,UI 将冻结 2-3 秒。这仅在 ListBox 的高度不固定(即允许增长)时发生。当 ListBox 高度设置为一个值时,它是即时的,例如 500
有没有办法解决这种冻结?在 ListBox 上具有固定高度不是可接受的结果,因为它会导致垂直滚动条出现在已经具有垂直滚动条的控件中
wpf - 当 CollectionView.SourceCollection 改变时执行代码的推荐方式
我有一个 ObservableCollection 项目,我想同时在两个控件中呈现:一个用于编辑当前选择的属性以及添加和删除项目,另一个用于显示整个集合并突出显示当前选择。
为此,我创建了一个 CollectionViewSource 绑定到我的项目,并在我的控件中绑定到该项目:
问题在于,在 DisplayControl 中,我想以无法通过 XAML 指定的特殊方式排列项目:项目的放置不仅取决于其自身的属性,还取决于集合中其他项目的属性。因此,每当将项目添加到集合中或从集合中删除时,或者当集合中某个项目的属性发生更改时,我都需要执行一些重新定位代码。
我想知道,推荐的解决方法是什么?受 ItemsControl.ItemsSource 的启发,我正在考虑将 TheItems 属性设为 IEnumerable 类型,但我无法弄清楚如何继续。
任何输入将不胜感激!
c# - WPF 中的分页集合视图
WPF 中是否有 PagedCollectionView 的实现?它存在于 Silverlight 中,但不在 WPF 中。
如果没有,实现这一点的最简单方法是什么?
wpf - ICollectionView.Refresh 不会重新过滤集合
我的视图模型中有 3 个 cascading ICollectionView
,其中一个依赖于另一个。第一个不绑定到视图上的控件,而是用作两个即将出现的作为主细节显示给用户的键过滤器。
我的问题是,我将过滤谓词附加到主集合视图,但是当我Refresh
从它调用时,它根本不会进入过滤器。我什至尝试从过滤谓词中抛出一个异常,所以如果调试器无法访问该代码,我仍然会看到它到达,但没有抛出异常。
我调用 Refresh 的原因是什么,但它没有带我进入过滤谓词 - 这意味着它没有重新创建视图?
mvvm - 如何使用 Collection View MVVM 进行分组?
我对 MVVM 还很陌生,最近我开始了一个清理我的代码隐藏的项目,我正在一点一点地将所有内容移至 Model 和 ViewModel。
我的问题是,现在,您如何在没有任何代码的情况下使用 Collection View 进行分组?在阅读了 Stackoverflow 上类似问题的答案后,我以为我已经弄清楚了,但我仍然无法让它工作。可能是一个愚蠢的错误,但如果有人可以查看我的代码并让我知道他们的想法,我将非常感激。所有的反馈都是很好的反馈,我真的很想成为一名优秀的程序员 :)
该列表是 Menu 类中 ObservableCollection 类型的 btw。