问题标签 [collectionviewsource]
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.
wpf - CollectionViewSource 过滤逻辑
我提出的过滤设计充其量是笨拙的,最坏的情况是错误的。这个想法是有一个基类来支持选择列表,并让子类根据需要添加额外的过滤逻辑。
令我特别困惑的是如何在各种过滤条件更改时触发视图进行过滤(请参阅下面的 _ApplyFiler())。以这种方式设置过滤器是否合适?过滤后我应该在哪里取消订阅/将其设置为 null?
干杯,贝里尔
丑陋的代码:
wpf - CollectionViewSource 过滤事件与属性
使用 CollectionViewSource.View.Filter 属性与使用 CollectionViewSource.Filter 事件之间有哪些实际区别?在某些情况下您会使用其中一个而不是另一个,或者这是一个偏好问题?
干杯,
贝里尔
编辑:我确实看到文档说“如果您的视图对象来自 CollectionViewSource 对象,您可以通过为 Filter 事件设置事件处理程序来应用过滤逻辑。” 尽管没有什么能阻止您在视图上设置属性,但它并没有说明为什么要这样做。
到目前为止,我发现在 CollectionViewSource 上设置事件的优势在于,您可以在一个事件处理程序中实现所有过滤逻辑,然后在用户更改过滤条件时使用 View.Refresh(或 View.DeferRefresh)调用它。
wpf - WPF 中的 CollectionViewSource.GetDefaultView() 内存泄漏?
我想知道在 WPF 中使用 CollectionViews 的最佳实践是什么,特别是使用 CollectionViewSource.GetDefaultView() 方法。有没有人在使用 GetDefaultView 时遇到过任何问题?我们担心它可能会导致一些内存泄漏。
手动创建 ListCollectionViews 而不是依赖 GetDefaultView() 通常是更好的做法吗?
WPF 如何管理这些视图?当收集完成时,他们会得到 GC 吗?我看过一些文章说你需要从他们的源集合中分离 CollectionViews 否则你会有内存泄漏。
谢谢你的帮助!
wpf - WPF CollectionViewSource 分组
我正在使用 aCollectionViewSource
对我的数据进行分组。在我的数据中,我有Property1
并且Property2
我需要分组。
唯一的规定是我不想要另一个组的子组。因此,当我按这两个属性分组时,我不想拥有它,Property2
因为Property1
' 组的子组。
我想要这个的原因是因为我需要一个显示以下信息的标题:
标题:
我已经用我的 CollectionViewSource 尝试过,但无法将组和子组“组合”在一起:
是否可以将两个属性组合在一起?像下面这样的东西?
c# - CollectionViewSource CurrentChanged 未触发
我想知道我是不是做错了什么?我的 CurrentChanged 似乎没有触发。它仅在应用程序启动时触发
wpf - 您可以在 DataTemplate 中使用 CollectionViewSource 吗?
是否可以在数据模板中显式使用 CollectionViewSource?通常我们会将 CollectionViewSource 放在模板旁边的资源中,但我们的模型不允许这样做,因为 collectionviewsource 的“源”是树中此级别的 DataContext 的属性,这意味着需要有一个实例在这个级别。将它放在资源的根目录中意味着只有一个实例。我们也不能简单地在外部级别上使用分组,因为这些项目在您处于层次结构的这么远之前不存在,并且并非所有兄弟姐妹都具有此属性。所以从逻辑上讲,我们在 DataTemplate 中实例化 CollectionViewSource(在本例中是 HierarchicalDataTemplate,但这无关紧要。)
具体来说,我们试图允许在此特定节点级别进行特定排序。我们唯一的其他选择是在 ViewModel 本身中进行排序,但这变得很痛苦,因为我们使用的是本身不支持排序的 ObservableCollections。实际上,我们在该主题上看到的每篇文章都指出,正是出于这个原因,您应该使用 CollectionViewSource,因此提出了这个问题。
例如,这行得通……</p>
但这并没有……</p>
在我看来,它会,但事实并非如此。同样,我们不能将 CollectionViewSource 放在与数据模板相同的级别,因为每个模板都需要一个实例,因为每个模板都有自己的一组项目(尽管它们都将共享排序标准。)
米
c# - C#/WPF:为什么选项卡没有正确聚焦
我有一个标签控件
那是必然Tabs
的ViewModel
。我也曾经CollectionViewSource
专注于标签
当我有超过 1 个选项卡时,当我创建新选项卡时,选项卡会正确聚焦
当没有标签时,新标签似乎没有正确聚焦。注意选项卡标题
我该如何解决这个问题?或者是什么导致了这种行为?显示了文本框(选项卡内容),但标题不像其选择那样呈现
更新
它适用于一个新的文件/项目......嗯......必须是一些相关的代码......我可能会重做那部分......
wpf - WPF - DataTemplate 中的 CollectionViewSource 过滤器事件不起作用
我看到一些非常奇怪的行为,其中 WPF 没有按照我的预期去做。我设法将问题归结为以下代码:
XAML:
代码隐藏:
我希望这段代码会产生一个TabControl
带有单个选项卡的选项卡,该选项卡具有一个ListBox
带有“b”的单个项目。但是,相反,我得到了ListBox
所有 3 个字符串。在内部设置断点CollectionViewSource_Filter
表明过滤器甚至永远不会运行。
这里发生了什么?为什么过滤器不起作用?
我在想也许这与CollectionViewSource
成为DataTemplate
. 事件ListBox
上火得当。如果UserControl
不是 a 的一部分DataTemplate
,则 Filter 事件可以正常工作。
编辑:
例如,以下内容按预期工作,列表按预期过滤。
XAML:
后面的代码:
wpf - CollectionViewSource 源属性上的集合绑定
我有一个CollectionViewSource
我ItemsSource
的DataGrid
. 在Window.Resources
我有这个定义:
现在,我想从代码中生成相同的定义,所以我这样做了:
但我在最后一条语句中有这个错误:
怎么了?我怎样才能做到这一点?
wpf - CollectionViewSource+PropertyGroupDescription - 组中的项目数
在我的 WPF 应用程序中,我有一个 CollectionViewSource,它为私有 ObservableCollection 提供视图。CollectionViewSource 有一个 PropertyGroupDescription,它在 ListBox 中用于将数据呈现给用户的偏好。
在 ListBox GroupStyle 中使用包含 Expander Control 的 ControlTemplate,结果非常好。但是,除了组名称之外,我还想在扩展器标题中显示每个组中的项目数。关于绑定路径的任何想法?
问候,利亚姆