问题标签 [listcollectionview]

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 回答
1049 浏览

silverlight - 是否有适用于 Windows Phone 7.5 (Mango) 的 ListCollectionView 或 PagedCollectionView 类

我知道 Silverlight 有一个 PagedCollectionView 类,WPF 有一个 ListCollectionView 类。但我发现其中任何一个都不适用于 Windows Phone 7.5 (Mango) 最新版本。

如果我的理解有误,请告诉我 WP7.5 SDK 中的哪个程序集我应该寻找这些类型中的任何一种以供参考。如果这些对于 Windows Phone 7.5 不存在,是否有可供使用的替代(当然,类似的功能)类?

0 投票
2 回答
1805 浏览

c# - ComboBox 的 SelectedItem 在实际值之前意外设置为 null

我有一个 ComboBox,它的 ItemsSource 绑定到一个新的(不是默认的)ListCollectionView,它链接到一个 ObservableCollection。ComboBox SelectedItem 属性绑定到公共 SelectedHat 属性。

第 1 步:选择 ComboBox 中的第二项。正如预期的那样,SelectedHat 现在是列表中的第二个帽子。第 2 步:(单击按钮)将列表中的第二个位置设置为新帽子。SelectedHat 首先设置为 null,然后设置为新 Hat。

为什么 SelectedHat 在新 Hat 之前设置为 null?

我希望能够 vm.Collection[index] = new Hat() 和
(1) 如果 ComboBox 选择了该索引,则保持选中而不是空白
(2) 只将 SelectedHat 设置为新 Hat 一次,而不是null 然后是新帽子

C#:

XAML:

0 投票
1 回答
813 浏览

wpf - 数据网格中的可扩展列

我正在开发一个 WPF 应用程序来呈现和纠正大量数据。我即将实现一个数据网格,其中包含来自外部服务填充的 3 个不同来源的数据。首先,我将仅使用来自一个源(主源)的数据填充网格。但是,有时自动验证器会在一个单元格上触发验证警告或错误,并且要求用户应该能够在选定的一个旁边的列中查看来自其他 2 个源的数据。

像这样的东西:

用户希望在“col2 src1”列旁边显示来自源 2 和 3 的数据,如下所示:

然后能够使用来自其他 2 个源的数据更正错误的格式化单元格,然后再次折叠列。

我试图在这个上使用 mvvm 模式,所以到目前为止我已经用 ListCollectionView 填充了 DataGrid。该列表包含具有如下属性的项目:

然后,我将有 2 个额外的集合,其中包含上述类型的项目,但来自其他 2 个来源。

我不知道如何实现此功能,并且可以在逻辑上使用一些帮助。我应该采取什么方法?

0 投票
2 回答
1276 浏览

wpf - WPF如何控制ListCollectionView绑定方法?

我有一个简单的 ObservableCollection 列表,我使用 ListCollectionView 绑定到表单。

在此处输入图像描述

我想控制绑定方法的问题。意味着只有当我按下确定按钮时,属性才会改变。

就像现在一样,如果我更改“名字”并导航,则保存该值。

例如,如果我将“名字”更改为 XXX 并导航下一个然后返回,我会看到 XXX 而不是 x...

这是 MainWindow.xaml:

和 Person 类是:

存储库是带有虚拟数据的 ObservableCollection ...我的 xaml 字段绑定为:Text="{Binding FirstName, UpdateSourceTrigger=Explicit}"

0 投票
1 回答
1181 浏览

wpf - 从第二项向下排序 ListCollectionView

在 MVVM 环境中,我将 ListCollectionView 绑定到 ObservableCollection。我的 Foo 对象对它们有一个 IsDefault 属性,我的要求是将该项目放在列表的第一位,其余的应该是 alpha 排序的。

所以这段代码只对整个列表进行排序,显然:

不确定如何确保第 3 项(例如,IsDefault=true)位于列表顶部,而其余项(IsDefault=false)按 alpha 排序。

这是使用 _list.CustomSort 并以某种方式实现 IComparer 的情况吗?

0 投票
1 回答
724 浏览

wpf - 我收到这个奇怪的错误“System.Windows.Data.ListCollectionView”未标记为可序列化

我有一个克隆类的方法。此类包含子类和属性等。它是由于 ICollectionView-Property 引起的吗?如何检测问题出在哪里?我的意思是哪个属性或类没有标记为序列化或什么?非常混乱...

错误:在程序集“PresentationFramework,版本=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”中键入“System.Windows.Data.ListCollectionView”未标记为可序列化。

0 投票
1 回答
340 浏览

wpf - ListCollectionView,找到 AddNew() 将创建的类型?

我有一个自定义控件,它“可以”将 ListCollectionView 作为 ItemsSource 传递,我需要 Child-Type 的反射使用。

现在我可以从第一个元素中找到类型:

但是,当 Collection 为空时,这将不起作用。

它也可以通过调用AddNew()

但我不想调用 AddNew 只是为了创建一个虚拟对象,因为这会导致错误作为站点效应。

但是,如果方法“AddNew()”知道要创建哪种类型的对象,则必须有一种方法可以找出实际的 Child-Type 而无需创建一个。

我用过 google、msdn 以及 Try & Error 却找不到方法。

一些想法?提前致谢 :-)

0 投票
1 回答
793 浏览

.net - 引用 ItemsControl 的分组控件

我有一个带有 ListCollectionView 作为数据源的 ItemControl。ItemControl 使用 Expander 控件对项目进行分组。当我执行 ListCollectionView.Refresh() 时,展开的 Expander 控件会折叠。如何使扩展的控件保持扩展状态?

0 投票
1 回答
1577 浏览

apache-flex - 在 Flex 中的 dataProvider 更新上删除了 selectedItem

flex中,我使用了一个组件,该组件从其 dataProvider ( ListCollectionView ) 中显示特定项目 (selectedItem 字段)。

我的 dataProvider 的元素可以通过不同的方式进行编辑。每次编辑时,都会发送一个更新事件,从而更新 dataProvider 集合(ListCollectionView:: listChangeHandler)。

在此过程中,如果我的 selectedItem 是已编辑的元素,它会被删除(通过 ListCollectionView:: moveItemInView设置为 null ),即使已编辑的字段在任何地方都没有使用。

有没有办法避免这种情况?

更具体地说,不必先保存它,让它丢失并在之后恢复它(这在此处几乎不可行)


编辑: 好的,我想我可以进一步解释:

在我的代码中,我对绑定到 dataProvider 的列表中的一项的属性进行了处理。我不知道具体原因,可能是因为项目的类是 [bindable],这会引发更新事件。

此事件被 ArrayList::itemUpdateHandler 捕获,并将其分派给 ListCollectionView::listChangeHandler。此时,事件“kind”是“update”,这对我来说似乎没问题……</p>

但是从那里开始,它转到ListCollectionView::moveItemInView(我认为这是有意义的,因为如果列表已排序,该项目应该必须更新其位置)。此函数将项目从其以前的位置移除并将其添加到其新位置。

当它删除它时,它会发送一个带有“remove”类型的新事件。这就是问题所在:我的组件侦听它使用的数据的删除事件,如果删除了这个元素,则删除它的 selectedItem。

我认为在调用 moveItemInView 时出现问题:ListCollectionView::handlePropertyChangeEvents 中的调用(由 listChangeHandler 调用)是:moveItemInView(updateEntry.item, updateEntry.item, eventItems); (其中 updateEntry.item 是列表的修改项,而 eventItems 是一个空数组)

而它的原型是:私有函数 moveItemInView(item:Object, dispatch:Boolean = true, updateEventItems:Array = null):void

那是一个错误吗?

0 投票
1 回答
2450 浏览

wpf - ObservableCollection + ICollectionView = ObservableCollectionView?

我有一个公开 ObservableCollection 的视图模型。现在我想添加分组,因此想使用 View 类,例如 ListCollectionView。但这不是泛型类型。此外,如果我从 ObservableCollection 构造 ListCollectionView,那么当 ObservableCollection 存在时它不会更新。

有人在某处实现了 ObservableCollection 支持的视图集合吗?

如果没有,是否有可能通过使用 XAML 以某种方式实现这种活力?