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

wpf - 如何将可观察集合绑定到用户控件数组?

WPF 中的数据绑定很棒,但是当您尝试使事情变得更复杂时,实现事情变得非常困难。

我有一个对象集合,其中每个对象都有绑定到用户控件的可观察属性。

我想(理想情况下)简单地将一个新对象添加到我的集合中,并在我的表单上显示一个新的用户控件。问题是用户控件需要动态创建,所以每次我添加到集合中时,我可能必须手动创建一个新控件,设置绑定并将其添加到我的窗口中。有没有更简单的 MVVM 风格的方式绑定到这样的结构?

0 投票
1 回答
14759 浏览

wpf - 如何将 TabControl 的项目绑定到 wpf 中的可观察集合?

将 TabControl 的项目绑定到 ObservableCollection 的最简单示例是什么?

每个选项卡的内容都将具有唯一的数据,并且实际上这些数据将具有自己绑定到项目组件的 observableCollections。

目前我有一个用户控件,我想在创建后立即将其设置为每个选项卡的内容。我还需要在创建选项卡时动态设置这个新用户控件的数据上下文。因此,基本上,我希望 tabcontrol 的 observablecollection 包含映射到每个选项卡中的数据的模型视图。

最重要的是,我需要在不违反 WPF 中的 MVVM 的情况下完成这一切!有什么帮助吗?

非常感激!

0 投票
3 回答
13400 浏览

c# - 无法解析符号 T

我对 ObservableCollection 类有疑问。我无法解决这个问题。

我的 ObservableCollection 类继承了 ViewModelBase:

任何想法,问题出在哪里?

0 投票
1 回答
151 浏览

wpf - 棘手的 WPF 样式问题 - 你能做到吗?

我有一个可观察的项目集合,其中每个项目都有一个名称和一个“组名”(两个字符串)。

棘手的部分是,在 XAML 中,我需要设置此集合的样式,以使具有相同组名的所有项目彼此相邻列出,并且组名显示在顶部。

我为组名的布局以及每个正在显示的项目的布局设计了用户控件。我玩过 ItemsControl,但不知道如何设置它的样式,以便具有相同组的项目以某种方式“合并”到使用通用 ItemControl 用户控件作为其源的相同 ItemsControl 中,组名称显示在顶部。

我确实通过使用一组“组”来完成这项工作,每个组内都有一组项目,因为绑定工作得很好。但是,我没有考虑到每个项目可能位于多个组中(将一个人视为“工作朋友”和“同事”组,因此需要复制)。

非常感谢任何建议或解决方案:)

0 投票
3 回答
13098 浏览

.net - 合并两个 ObservableCollections

我有两个 Observable Collections 我需要合并到一个集合中。

这是因为我有两种方法,getTasks(staffID) 返回 ObservableCollection 和 getTasks(teamID),它选择人员并拉回人员任务。

对于我将有多个小的 observableCollections 的团队,我只想合并它们。

0 投票
4 回答
9443 浏览

silverlight - Silverlight TabControl 绑定到 ObservableCollection集合更改时不更新

带有 TabControl 的 Silverlight 3 应用程序使用 IValueConverter 绑定到 ObservableCollection。在应用程序启动时初始化绑定工作(调用转换器)。对绑定集合的更改、Clear() 或 Add() 不会反映在 TabControl... 未调用的转换器中。

注意:绑定的 ListBox 反映了对绑定集合的更改,而 TabControl 没有。

想法?

/jhd


XAML 绑定...


视图模型...


转换器(为了完整性)...

0 投票
2 回答
4977 浏览

c# - 当前项目的可观察集合?

在我的应用程序的对话框中,我有一个绑定到选项卡列表的可观察集合(存储在其他地方)。当我关闭并重新打开对话框时,当前选择的选项卡会丢失并最终成为第一个选项卡。如何设置我的选项卡以使所选选项卡持续存在?

我的印象是可观察集合具有“当前项目”属性,但似乎并非如此。我查看了 ItemCollection 和 CollectionView,它们确实有一个 current item 属性,但我不确定这是否是我感兴趣的。

0 投票
3 回答
37418 浏览

datagrid - 绑定到 ObservableCollection 时如何删除 DataGrid 的空白行?

我在这里疯了:

当您调试列表变量时,它是空的(list.Count = 0),但随后我将它绑定到 DataGrid(WPFToolkit),它显示了一个空白行。

在即时窗口中,对于 dgEmployees.Items 它显示:

在我将此 Datagrid 放入 TabControl 之后似乎会发生这种情况,但我不确定它是否与它有关。

有谁知道如何删除这个空白行?

0 投票
3 回答
9912 浏览

wpf - ObservableCollection 中的项目不更新视图

我被难住了。我有一个包含业务对象的可观察集合。我将它绑定到 ListBox 的 ItemsSource。我正在更新对象的 X 和 Y,并且它在运行时在 UI 中正确显示,因为它绑定了项目的顶部和左侧。但是,这就是问题所在。我还绑定了一些数据以显示在 textblock 文本属性中,并且数据仅显示初始值。无论我更改多少次,它都不会更新文本块文本。

这是 XAML。如果您发现 XAML 有问题,请告诉我。就像我说的那样,X/Y - Top/Left 绑定工作得很好,并且在更改时会更新,绑定到 DisplayData 的 TextBlock 不会。

此外,我的集合中的业务对象确实实现了 INotifyPropertyChanged。

如果仅通过查看 XAML 无法给出答案,我将尝试制作一个小演示来复制这一点。

0 投票
4 回答
9520 浏览

wpf - 提高 WPF ObservableCollection 性能

目前我有两个模仿以下功能的 WPF 列表框

Word 2007 自定义屏幕
(来源:psu.edu

我正在使用 2 ObservableCollections 来允许用户选择他们需要的任何项目(灵活性是这里的关键)。主要问题是我有数千个项目分组在两个列表框中。总而言之,设计工作得非常好(有几十个项目),但我的绊脚石是当屏幕冻结时用户从左到右复制所有可用项目(是时候在不同的线程上运行?)。

查看 ObservableCollection 它缺少 AddRange 方法,并且互联网上有各种可用的实现。我也知道 CollectionChanged 事件被不必要地触发了,因为每个项目都被复制到可怕的消耗性能上。

很可能我将来必须允许用户从超过 10 000 个项目的组中进行选择,这听起来是个坏主意,但由于列表框 (CollectionViewSource) 上的分组工作得很好,但这是不可协商的关闭两个列表框的虚拟化的副作用

当数据绑定到 ObservableCollection 时,加载包含数千个项目的列表框时,我能做些什么来提高性能?您会推荐任何 AddRange 类型的实现吗?我在这里唯一的选择是在后台线程上运行它吗?因为我没有从数据库加载数据,所以看起来很昂贵?