问题标签 [icollectionview]
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.
c# - 自动刷新 ICollectionView 过滤器
有什么方法可以自动更新过滤器,ICollectionView
而无需Refresh()
在进行相关更改时调用?
我有以下内容:
此属性中的 [Notify] 属性只是实现INotifyPropertyChanged
,但在这种情况下它似乎没有做任何事情。
在 XAML 中:
更新:看起来使用ICollectionView
对我来说是必要的,所以我想重新讨论这个话题。我正在为这个问题添加一个赏金,其接收者将是任何可以提供一些关于如何实现ICollectionView
不需要手动刷新的“放手”的见解的人。在这一点上,我对任何想法都持开放态度。
c# - 实现 ICollectionViewLiveShaping
以过滤为目的是如何ICollectionViewLiveShaping
实现的?是不是像:
我没有使用GetDefaultView
,因为我需要此集合上的多个过滤器实例。如果重要的话,GameContainer.Game.Workers
是一个ObservableCollection
.
这一切都有效,但当然必须手动刷新,这就是我尝试使用ICollectionViewLiveShaping
. 实时过滤如何工作?
更新:似乎将属性添加到集合的唯一方法ICollectionViewLiveShaping
是LiveFilteringProperties
通过字符串。鉴于这种限制,是否甚至可以按另一个类(在这种情况下为工人的 EmployerID)中的属性进行过滤?
在这种情况下我试图做的甚至是一个可行的选择吗?
c# - 在 WPF 中对 Icollectionview 进行排序和分组
我在 WPF 中创建了一个 listview 控件,并且成功地完全绑定Icollectionview
了ObservableCollection<object>
. 我的列表视图列是动态创建的。我必须对我的列表视图进行排序和分组,但它无法正常工作。我的代码如下。
WPF代码如下
c# - Wpf ICollectionView 绑定项无法解析类型对象的属性
我在 XAML 设计器中绑定了 aGridView
属性ICollectionView
未知,因为其中的实体CollectionView
已转换为类型Object
并且无法访问实体属性,它运行良好,没有错误,但设计器将其显示为错误,如果我绑定到集合我可以正常访问属性
示例实体是Person
具有string Name
属性的我将它们放置在一个中ObservableCollection<Person>
并从中获取视图并将其绑定到GridView.ItemsSource
现在当我尝试设置列标题DataMemberBinding.FirstName
属性时设计器将其显示为错误
无法解析对象类型的数据上下文中的属性“FirstName”
是错误还是 Resharper 对我耍花招
示例代码:
wpf - 额外线程中的绑定项目不可从调度程序线程中删除
RefreshItems
从 ViewModel 的构造函数中调用,并且在用户希望时调用(RefreshCommand
单击按钮)。
Delete 也绑定到一个DeleteCommand
.
我想刷新一个新线程中的项目,因为一些动画否则不流畅。
因此绑定不会发生在调度程序的线程上,但删除会发生并且删除会引发异常(参见代码)。
(TPL(异步/等待)不是选项,因为必须支持 XP。)
wpf - ICollectionView CurrentChanging 取消
我尝试取消 CurrentChanging 事件,如本例所示
但是,我有e.IsCancelable
= FALSE。这个属性只有一个 getter,我不知道我可以做些什么来将此属性设置为 TRUE。任何想法?
wpf - ObservableCollection 不对新添加的项目进行排序
我有以下绑定到 DataGrid 的 ObservableCollection:
XAML:
我在启动时使用默认视图对其进行排序:
一切正常,但问题是每当我向 Messages 集合添加新消息时,它只会被附加到列表的底部,而不是自动排序。
难道我做错了什么?我确信我可以通过每次添加项目时刷新视图来解决这个问题,但这似乎是错误的做法(更不用说性能方面了)。
c# - 实现 ICollectionView 并支持分组
我目前正在尝试在 VirtualCollection 中实现分组。是否有任何教程我需要什么以及如何实现 ICollectionView 以便使用 DataGrid(在 WPF 和 SL 中)进行分组?
c# - 过滤 ObserverableCollection 以仅显示某些项目
我在这里关注这个链接:http: //jacobmsaylor.com/ ?p=1270
但我遇到了问题,试图对其进行调整
.
我的 MLBPage 对象有 2 种类型......其中“templateName”可以是“Leaders List”或“Leader Headshots”......现在当我通过添加到按钮来过滤集合时:
整个集合只是过滤器(绑定到列表框的 _PageCollection 变为空白),而不仅仅是名称中包含“Leaders List”的项目......
关于如何修改它以使其工作的任何帮助?
wpf - 数据网格中的错误?禁用数据网格行的奇怪行为
我正在使用 ObservableCollection 的 ICollectionView 在 DataGrid 中显示数据。每个条目都包含一个 IsEnabled 属性(显示在 DataGridCheckBoxColumn 中)和两个整数值(每个都在一个 DataGridTextColumn 中)。当 IsEnabled 为 false 时,使用此样式禁用整行:
数据网格如下所示:
我遇到了这种奇怪的行为:例如,我在数据网格中有两行。第 1 行启用(该项的 IsEnabled 为 true),第 2 行禁用(该项的 IsEnabled 为 false)。如果我编辑第 1 行中的一个整数值并按 ENTER,则绑定将按预期更新。当我用鼠标指针再次单击同一个文本框时,禁用行 (2) 下方的文本块被激活(并以某种灰色突出显示)。如果我想编辑第 1 行中的文本块,我必须再次单击其他地方才能离开第 2 行中的“聚焦”文本块,并且通过第三次单击,我可以回到最初编辑的文本块。
这是数据网格中的错误吗?我该如何纠正这个问题,以便在再次单击第 1 行后再次编辑文本框?
有任何想法吗?
谢谢!