问题标签 [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.

0 投票
2 回答
1972 浏览

.net - 为什么在过滤集合后 WPF 数据绑定不更新?

为什么更新集合时我的 WPF ContextMenu 数据绑定未按预期更新,但 ItemTemplate 正确显示上下文菜单文本?

在下面的代码中,当我不尝试更新 ObservableCollection 时,此方法有效。当基础 ObservableCollection 更新时,DataTemplate 更新没有问题,并按预期显示新的 MenuItem 文本。但是,刷新发生后 MenuItem.Tag 是否返回 Nothing?

数据绑定 MenuItem.Tag 在首次加载集合时有效,但在我更新后无效。关于如何找到此错误的任何想法?部分 XAML 代码如下所示:

更新 #1: 该问题似乎与 CollectionViewSource 和 Filter 在发生过滤并删除项目后未更新 MenuItem.Tag 绑定有关。我添加了 CollectionViewSource.View.Refresh() ,其中集合将发生变化,但这仍然不能解决问题。

更新 #2 我已经实现了 INotifyPropertyChanged 这对过滤问题没有帮助。如果我删除 CollectionViewSource 上的过滤器,则不会发生此问题。我还在 MenuItem.Tag 绑定中添加了一个转换器,并且在应用过滤后不会调用它,然后将 MenuItem.Tag 设置为 Nothing。

0 投票
2 回答
11312 浏览

wpf - 在 DataTemplate 中对绑定的 ItemsControl 进行排序(仅限 XAML)

是否有一种 XAML 唯一方法可以根据项目的属性之一自动对绑定项目(ViewModel 对象列表)ItemsControl 进行排序。ItemsControl 是 DataTemplate 的一部分。我认为 CollectionViewSource 可以解决问题,但是如何将 CollectionViewSource 绑定到 ItemsControl。以下代码什么也没显示:

0 投票
3 回答
3102 浏览

wpf - 与 CollectionViewSource 绑定时,DesignTime 数据未显示在 Blend 中

我有一个视图模型的数据模板,其中项目控件绑定到 CollectionViewSource(以启用 xaml 中的排序)。

我还设置了 UserControl,所有这些都被定义为提供设计时数据

这基本上是一个静态属性,它为我提供了一个具有 ModuleViewModel (Equipment.Modules) 列表的 EquipmentViewModel。现在只要我绑定到 CollectionViewSource 设计时数据就不会出现在混合 3 中。当我直接绑定到 ViewModel 集合时

我可以看到设计时数据。知道我能做什么吗?

0 投票
1 回答
281 浏览

silverlight - Silverlight 中的 CollectionViewSource

基于来自http://msdn.microsoft.com/en-us/library/ms771725.aspx的示例,该示例 用于 WPF。我想要相同的 Silverlight 样品,因为我的要求是相同的。但我得到“AG_E_PARSER_BAD_PROPERTY_VALUE”指向我的 XAML(仅供参考:xmlns:dat="clr-namespace:System.Windows.Data;assembly=System.Windows.Data")。

请帮助我实现同样的目标。

0 投票
1 回答
1494 浏览

wpf - WPF 分页 CollectionViewSource

我有一个 WPF 列表框,我想在其中添加分页,因为它开始变慢,有一堆项目。我的问题是我使用分组、排序和过滤。这意味着如果我要使用 LINQ Skip() 和 Take() 方法或使用类似分页的 ObservableCollection 来限制数据,那么分组和排序将是错误的,因为它只会应用于数据的第一页。过滤会更糟糕,因为它只会过滤当前显示中显示的数据,这意味着您必须在它显示的页面上才能搜索它。

我不太热衷于重写所有这些逻辑的想法。我看到 Silverlight 3 正在获取 PagedCollectionView(但据我所知,.NET 4 中的 WPF 没有得到它)​​。以前有没有人实施过这样的事情,或者对我应该如何解决这个问题有任何想法?

0 投票
3 回答
13109 浏览

wpf - 使用 CollectionViewSource 和 DataBinding 进行 WPF 分组

我将 a 绑定CollectionViewSource到 aListView以对项目进行分组。一切都很好,除非我更新了ObservableCollection基于CollectionViewSource。如果我更新集合中对象的值,则 UI 永远不会更新。这是一个例子:

您会注意到它正在调用组中的转换器并为其提供项目集合。这样转换器就可以计算行的平均值并返回该结果:

在后面的代码中,我添加行并创建CollectionViewSource

私有只读 ObservableCollection displayRows = new ObservableCollection();

DisplayRow对象实现INotifyPropertyChanged了,并且只是一个简单的类。

一切正常,显示是我想要的方式,但如果我更改ObservableCollectionUI 中的值并不会改变。

如果我将一个元素添加到集合中,我可以看到它出现在屏幕上,但从未调用转换器来重新计算平均值。有任何想法吗?

0 投票
2 回答
376 浏览

.net - 当它是 CollectionViewSource 的源时,如何模仿 List 的 ObservableCollection 的行为?

下面的代码的工作方式如下:显示一个带有排序名称列表的表单。单击按钮时,新名称将添加到列表中文本框的适当排序位置。当双击列表中的某个项目时,它会以“AAA”为前缀,这会触发它被放置在列表的顶部。当我将 ObservableCollection 更改为 List 时,这种行为当然会消失。但是我怎么能模仿呢???我尝试实现 INotifyPropertyChanged,我在列表框的 BindingExpression 上调用了 UpdateTarget() 方法,都无济于事......

我有以下 XAML:

后面的代码:

}

0 投票
1 回答
943 浏览

silverlight - Trouble using CollectionViewSource in Silverlight

I having some trouble when implementing the CollectionViewSource in silverlight. I'm new in this topic, so basically I've been following what I find searching through the web. Here's what I've been trying to do so far.

I'm creating a CollectionViewSource in the resources tag:

Then I'm binding my TestCVS in a HierarchicalDataTemplate:

Now, in the code behind I'm assigning the Source for the TestCVS in a property, like this:

After testing this I realize that the information is not showing on screen and I don't really know why, can anyone help me on this matter?

Hope this makes any sense, thanks in advance!

0 投票
3 回答
3002 浏览

c# - WPF如何从CollectionViewSource设置最大数量的结果

我正在尝试使用DataTemplatein 中的a 显示一组数据ItemsControl,该ItemsPanel集合为大小为 3 x 3 的统一网格。ItemsSourceItemsControl设置为绑定到CollectionViewSource基于搜索词过滤源集合的 a 。这一切都很好。

我绑定到的列表是任意大小的,但我只想显示 9 个结果,但我一生都无法弄清楚如何:
a)限制 CollectionViewSource输出前 9 个项目
b)将 限制UniformPanel为仅 3 x 3 并且从不创建新行
c) 限制ItemsControl仅允许一次创建 9 个数据模板。

我真的很摸不着头脑,因为我确信这是一个常见的数据绑定场景,但我在网上找不到任何关于它的信息。

0 投票
2 回答
13342 浏览

wpf - 绑定到 ItemsControl 中的 CurrentItem

下面的XAML 基本上是试图制作一个Buttons 列表(从当前.NameViewsDataContext

当我点击一个按钮时,应该改变的CurrentItem属性和相关的应该显示在内容演示器中。CollectionViewSourceView

好的。如果我在下面的 XAML 中单击,ListBox它会完全按照需要工作。

但是,如果我单击UniformGrid(由项目控件创建)中的按钮,则该CurrentItem属性不会更新。

当在 中选择一个项目时,如何获得CurrentItem更新ItemsControl

谢谢