问题标签 [observablecollection]

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 投票
6 回答
26067 浏览

linq - 使用 linq 对 observable 集合进行排序

我有一个可观察的集合,我使用 linq 对其进行排序。一切都很好,但我遇到的问题是如何对实际的 observable 集合进行排序?相反,我只是得到了一些 IEnumerable 的东西,我最终清除了集合并重新添加了东西。这对性能没有好处。有谁知道更好的方法来做到这一点?

0 投票
4 回答
11888 浏览

c# - ObservableCollection PropertyChanged 事件

我想子类化为ObservableCollection它添加一个属性。不幸的是,该PropertyChanged事件受到保护。基本上,我想对它进行子类化,SelectedItem以便在我的 MVVM WPF 应用程序中为列表绑定一个。

这是我班级的骨架:

但我不能执行以下操作:

因为访问限制。这使我提出了一个更深层次的问题。UI 如何通知PropertyChanged事件(例如 Count 属性)?请注意,我不能在代码隐藏中做到这一点。

头晕脑胀,有大神能指教一下吗?

0 投票
1 回答
2576 浏览

c# - ObservableCollection 数据绑定性能

我想知道为什么根据这篇文章和可观察集合的绑定速度明显快于 WPF 中的 List<> 集合(20 毫秒对 1685 毫秒,快 800 倍)。我查看了 ObservableCollection 的内部结构,它使用一个 List 作为它的存储集合对象(我使用了反射器并在构造函数中看到了这个)

那么这里发生了什么?

0 投票
1 回答
11853 浏览

wpf - 如何从 XAML 获取 ObservableCollection 中的项目数?

我正在显示从 ComboBox 中的 ViewModel ObservableCollectoin 属性获得的所有客户,如下所示:

有没有办法在不创建另一个 ViewModel 属性的情况下获取 ObservableCollection 中的项目数,例如:

伪代码:

0 投票
1 回答
5972 浏览

wpf - Linq 和 ObservableCollection

我的 WPF 应用程序中的 Linq 和 ObservableCollections 有问题。

问题的背景:

我创建了一个非常简单的 SQL 数据库,其中包含两个表:User 和 BankAccounts。User 表与 BankAccounts 表具有一对多的关系。接下来我创建了 Linq-to-SQL 数据类,它运行良好 ==> 两个表之间的关联也被检测到。

接下来我创建了一个函数来检索所有正常工作的用户:

现在假设我想为每个用户添加一个新的 BankAccount(不太可能但仍然如此)。我可以添加以下代码

以上工作一切正常。由于数据库和 Linq DataClasses 中的关联,BankAccounts 属性自动成为 User 类的一部分。

但是,在我的应用程序中,我首先将查询结果添加到 ObservableCollection。因此,我可以使用各种数据绑定和更改通知。这是通过以下代码完成的;

问题:在 ObservableCollection 中,我不能对用户的 BankAccounts 属性做任何事情,因为它现在是 EntitySet<> 类型。所以我不能再做下面的陈述了。

不知何故,当查询结果被添加到 observablecollection 时,就不可能再访问 user.BankAccounts 属性了。但是,可以将 BankAccounts 属性绑定到任何控件,如列表框,并且它包含正确的数据。

有人现在如何创建一个 observableColction (或类似的集合),我可以访问这些“关联”属性吗?我真的很期待一个解决方案。

提前致谢!此致,

Bas Zweeris 邮箱:Bas.Zweeris@Capgemini.com

0 投票
2 回答
20796 浏览

c# - 集合中项目的可观察集合属性已更改

我有一个ObservableCollection<T>. 我已将其绑定到 ListBox 控件,并已添加SortDescriptions到 ListBox 上的 Items 集合中,以使列表按我想要的方式排序。

当子元素的任何属性发生更改时,我想在任何时候使用列表。

我所有的子元素都实现了INotifyPropertyChanged.

0 投票
1 回答
1435 浏览

c# - 嵌套泛型

我以前问过这个问题,但我没有得到正确的问题,所以错过了答案。

如果我有一个返回方法的方法,ObservableColletion<T>那么我将在另一个通用方法中使用它。

是要走的路。

我正在尝试制作一个通用的 resultEventArgs,它将 Ado.NET Dataservices 查询的结果传递给所有订阅者。在里面,我希望能够传递返回的强类型 EntityCollection [Ado.NET 1.5 生成]

所以是的,我的问题措辞是ObservableCollection因为我不想让整个 ado.net 数据服务混乱。

干杯戴夫

0 投票
3 回答
1278 浏览

silverlight - 什么是数据契约(属性类)和可观察集合

什么是数据契约(属性类)和可观察的集合,何时、何地以及为什么在silverlight的上下文中使用这些,请在详细信息和示例中进行解释

++ 感谢和问候 Meetu Choudhary

0 投票
1 回答
4173 浏览

c# - 列表框滚动条不跟随所选项目(使用 ICollectionView)

我正在尝试在 WPF 中实现 MVVM 模式。我关注了 Jeremy Alles 的非常简单的 MVVM 演示应用程序。我有一个绑定到 ObservableCollection 的 ListBox:

我添加了一个ICollectionView来管理 ListBox 上的选定项目。它还允许我有两个按钮,允许我选择列表中的上一个和下一个项目。

这一切都很好,但是,当所选项目位于列表框的显示区域下方时,列表框的滚动条不会相应移动。

如何将 ListBox 的滚动条/显示区域与所选项目同步?

0 投票
1 回答
1232 浏览

wpf - 如何调试 ViewModel 与 View 的绑定?

我的视图中有这个 ItemsControl :

在它上面我有这个 DataTemplate 呈现所有项目:

问题是,虽然我的ViewModel中的ItemPageItemViewModels ObservableCollection 中有 8 个对象,但只有最后一个对象在屏幕上显示了8 次

我可以在我的 ViewModel 中设置一个断点来查看 ObserverableCollection 中确实有 8 个不同的对象,但是我如何调试绑定以查看为什么这个 DataTemplate 在我的屏幕上呈现集合中的最后一个对象 8 次?