问题标签 [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 投票
5 回答
670 浏览

c# - 将两个可观察的集合组合到一个列表框?

我有两个可观察的集合都设置为一类属性。我需要将这两个集合合并到一个列表框中。我查看了 Compositecollection 类,但这不是我需要的。理想情况下,我希望列表框看起来像这样......

将此视为一个列表框控件,每个列表框项都包含来自两个可观察集合的源属性的对象。

我只是想知道是否真的可以做这样的事情?

0 投票
2 回答
2508 浏览

wpf - 仅使用集合项的子集的 WPF 绑定到组合

我正在尝试仅使用选择的集合对象将 TwoWay 绑定设置到组合框。目前,如果我只想绑定集合中的所有内容,一切正常,但在下面的示例类中,如果我只想显示 Active=True 的项目怎么办?我可以使用 LINQ 过滤项目,例如 ItemsSource = FROM x IN Coll WHERE x.Active=True 但随后我失去了 TwoWay 绑定。即,如果源中的名称或活动状态是从其他地方更新的,则组合框不会自动更新。

有可能吗?如果没有,是否有人不得不处理这个问题有一些建议?

0 投票
1 回答
3072 浏览

wpf - WPF DataGrid - 结合 TimeSeries w/MultiBinding,丢失更改通知。为什么?

我有一个有两个 ObservableCollection<TimeValue> 的类,其中 TimeValue 是一个自定义 DateTime/Value 与更改通知配对(通过 INotifyPropertyChanged)。我称这些为目标和实际值。

当我将它们绑定到图表时,一切正常,我得到了两个 LineSeries。如果我将其中一个绑定到 DataGrid,其中有一列用于“日期”,一列用于“值”,则可以再次完美运行。我什至得到了我需要的双向绑定。

但是,我需要有一个 DataGrid,它有一个“日期”列,以及一个用于 Targets 和 Actuals 的列。问题是我需要列出一个范围内的所有日期,而其中一些日期可能在 Targets、Actuals 或两者中没有对应的值。

所以,我决定做一个 MultiBinding,它以 Targets 和 Actuals 作为输入,并输出一个组合的 TimeSeriesC,只要其中一个原件没有价值,它就具有空值。

它有效,但不响应基础数据的任何变化。

这很好用(绑定到一个 ObservableCollection):

这有效,但仅在首次初始化时有效。更改通知无响应:

这是我的 IMultiValueConverter:

我不能离得太远,因为它显示了值。

我究竟做错了什么?或者,有没有更简单的方法可以做到这一点?

谢谢大家!

0 投票
2 回答
426 浏览

wpf - Create A WPF ObservableCollection From A SubSonic 2.2 Collection

If I have a DAL created by SubSonic 2.2, how do I convert the Collections created by it to WPF ObservableCollections in code (pref.VB.NET) to be consumed by WPF?

0 投票
4 回答
861 浏览

.net - 无法围绕 wpf 数据绑定

我的场景:一个 wpf 表单有一个文本框和一个 wpf toolkig datagrid。在文本框中输入文本时,我的服务会返回一个IEnumerable<TranslationItem>项目。我希望我的数据网格显示此服务的结果。

我试着用谷歌搜索,但我无法得到正面或反面。我才刚刚开始学习 WPF,大多数使用过的术语都让我无法理解。
我收集到的是我应该把我的服务结果放在一个 ObservableCollection 中,不费吹灰之力。但后来我想以某种方式将它绑定到我的数据网格。我怎样才能做到这一点?网格如何知道要生成哪些列?

0 投票
6 回答
73513 浏览

c# - ObservableCollection 和 Item PropertyChanged

我已经看到很多关于这个问题的讨论,但也许我只是一个新手,无法理解。如果我有一个可观察的集合,它是 msdn 示例中的“PersonNames”集合(http://msdn.microsoft.com/en-us/library/ms748365.aspxPersonName ),如果 a是,我会更新我的视图添加或删除等。当我更改属性时,我想更新我的视图PersonName。就像我改变名字一样。我可以OnPropertyChanged为每个属性实现并让这个类派生自INotifyPropertyChanged,并且似乎按预期调用。

我的问题是,视图如何从 中获取更新的数据,ObservableCollection因为属性更改不会导致任何事件ObservableCollection

这可能是一件非常简单的事情,但为什么我似乎找不到一个例子让我感到惊讶。任何人都可以为我阐明这一点或对示例有任何指示,我将不胜感激。我们当前的 WPF 应用程序中的多个地方都有这种情况,并且正在努力解决这个问题。


“通常,负责显示数据的代码会为PropertyChanged当前显示在屏幕上的每个对象添加一个事件处理程序。”

有人可以给我一个例子来说明这意味着什么吗?我的视图绑定到我的ViewModel哪个有ObservableCollection. 此集合由RowViewModel具有支持PropertiesChanged事件的属性的 组成。但我不知道如何让集合更新本身,所以我的视图将被更新。

0 投票
1 回答
1141 浏览

.net - 如何绑定具有多个 ObservableCollection 的视图

我有一个带有多个 ObservableCollection 的 ModelView。这是正确的方法吗?当视图调用视图模块时,所有的 ObservableCollection 都需要重新填充数据,然后对所有 CollectionViewSource 再次进行绑定。

另外我如何在视图模型的构造函数之外调用 CollectionViewSource.GetDefaultView,我得到一个错误,它只能在构造函数中调用。

如果我为每个 CollectionViewSource 创建一个单独的 ModelView,那么在将其中一个视图与 ModelView 绑定时,其余的控件也会被绑定,但是这次使用空值并且所有的 ModelView 都没有被调用。

我真的很困惑该怎么办,请帮忙。

0 投票
3 回答
4959 浏览

wpf - 我的 ViewModel 是否应该有一个 ObservableCollection 的 Views 或 ViewModels?

我试图通过通过DataTemplates将其绑定到ViewModel 上的ObservableCollections来了解使用ItemsControl时的基本 MVVM 设计方法。

我见过绑定到字符串视图和视图模型的ObservableCollections的示例。

绑定到字符串似乎只适用于演示,它是对“包含 ViewModels 集合的 ViewModels的绑定”,WPF 的强大功能似乎真正发挥了作用。

对于那些精通 MVVM 模式的用户,您将 ItemsControl、ListView、ListBox 绑定到 ViewModel 中的集合的标准方法是什么?我正在从这样的经验中寻求建议:

  • 始终使用 ObservableCollection<...> 而从不使用 List<...> 因为...
  • 比 ItemsControl 显示集合更好的东西是......
  • 为了让过滤在您的 ViewModel 中而不是在代码隐藏中工作,请使用...
  • 在...时使用视图集合,在...时使用 ViewModel 集合
  • 90% 的时间我创建了一个 ItemsControl 并将它绑定到一个 ObservableCollection 的 Views 中,这些 Views 有自己的 ViewModels...
0 投票
1 回答
174 浏览

wpf - WPF DataBinding - 完全困惑

天哪!我讨厌这个。为什么这么复杂?

我正在尝试做的事情:

我有一个带有几个用户控件的表单,每个用户控件都有一个 DataGrid。每个网格通过 .ItemSource 属性与 ObservableCollection 绑定,每当程序捕获到一个事件时,它都会对隐含的集合之一进行更改。但是网格的图片不会更新。

0 投票
2 回答
916 浏览

silverlight - 为什么实施 ObservableCollection 会使我的 silverlight 应用程序崩溃?

我有一个组合框,其 ItemsSource 属性绑定到 ObservableCollection 属性,其 SelectedIndex 属性分别绑定到整数属性。

我的数据结构看起来像

现在应用程序加载成功。但是,当用户将 ComboBox 的 SelectedIndex 从 0 更改为 1,然后选中复选框(以调用“DealIndex”属性更改事件)时,应用程序崩溃。

我不确定为什么会发生这种情况。有人可以阐明并提出解决方案吗?

TIA... 苏迪普