jjzjj

collectionviewsource

全部标签

c# - 将 CollectionViewSource 与 GroupDescriptions 一起使用时的 ListBox ScrollIntoView(即 IsGrouping == True)

精简版我想在更改选择时将ListBox项目滚动到View中。长版我有一个ListBox,其ItemsSource绑定(bind)到一个CollectionViewSource和一个GroupDescription,如示例所示以下。代码隐藏文件中有一个SelectionChanged事件。publicListAnimals{get;set;}privatevoidListBox_SelectionChanged(objectsender,SelectionChangedEventArgse){ListBoxcontrol=(ListBox)sender;control.ScrollInt

c# - CollectionViewSource 不会对属性更改进行重新排序

我正在将ItemsControl绑定(bind)到CollectionViewSource。这是代码:this.Trucks=newObservableCollection();foreach(vartruckinDataRepository.Trucks.Where(t=>t.ReadyDate.Date.Equals(this.Date))){this.Trucks.Add(truck);}this.TrucksSource=newCollectionViewSource{Source=this.Trucks};this.TrucksSource.SortDescriptions.

c# - 在 WPF 中,您可以在没有代码隐藏的情况下过滤 CollectionViewSource 吗?

真的,这个主题说明了一切。并不是说我不能有代码在后面。它只会对我唠叨。 最佳答案 如果您“足够努力”,您几乎可以在XAML中做任何事情,uptowritingwholeprogramsinit.你永远不会绕过代码背后(好吧,如果你使用库,你不必编写任何但应用程序当然仍然依赖它),这是一个在这种特定情况下你可以做什么的例子:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Markup;us

c# - 使用自定义 IComparer 对 CollectionViewSource 进行排序

我正在尝试对派生自CollectionViewSource的集合进行排序,该集合仅具有用于排序的SortDescriptions。不幸的是,我需要能够使用我自己的自定义IComparer,但我似乎无法找到一种方法来做到这一点。想想数据网格,我有自己的多列排序算法。我在想一种方法是使用实​​现CollectionChanged的​​集合,它是CollectionViewSource和我的真实数据源之间的附加层,但如果有人有任何建议,我真的更喜欢更好的方法。 最佳答案 BeaStollnitz有一个自定义排序示例here.那篇文章的重点

c# - 每个列的 WPF DataGrid CustomSort

我有一个绑定(bind)到封装ObservableCollection的CollectionViewSource的WPFDataGrid。这个CollectionViewSource有两个主要目标:1)按T的特定属性对每个项目进行分组。我在GroupDescription中使用ValueConverter来获得我想要的分组行为。2)按a)主要是组名称(如上定义)和b)各个组项目对网格进行排序。我通过将自定义IComparer附加到CollectionViewSource的“CustomSort”属性来实现这一点。这在大多数情况下效果很好,但是一旦单击列标题,排序逻辑就会被覆盖。我不想禁

c# - 如何按一个属性对 CollectionViewSource 进行排序,然后按另一个属性排序作为决胜局?

目前,我的CollectionViewSource按描述对项目集合进行排序。如果描述相同,我想根据ID排序。如何指定先按描述排序,然后按ID排序?我尝试添加第二个带有PropertyName="Id"的SortDescription,但没有成功。编辑:ID属性在View模型上是私有(private)的。没有抛出任何错误。 最佳答案 我不确定为什么为Id添加SortDescription不起作用,因为它应该可以正常工作。像这样:我根据您的需要整理了一个完整的示例:Xaml:代码:publicpartialclassMainWindow

c# - 如何从 CollectionViewSource 获取项目数?

我正在使用CollectionViewSource来过滤列表框中显示的记录。xaml如下。这是我的代码隐藏(请不要介意这个代码隐藏,在实际应用程序中,我正在为这种情况使用最好的MVVM)。publicpartialclassListBoxFilterUsingCollectionViewSource:Window{privatestring_text="";privatereadonlyCollectionViewSource_viewSource;publicListBoxFilterUsingCollectionViewSource(){InitializeComponent();

c# - 有界数据更改后重新排序 WPF DataGrid

当基础数据更改时,我正在寻找一种方法来重新排序我的DataGrid。(设置很标准:DataGrid的ItemSource属性绑定(bind)到一个ObservableCollection;列是DataGridTextColumns;里面的数据DataGrid对ObservableCollection内部的变化做出正确react;用鼠标单击时排序工作正常)有什么想法吗? 最佳答案 我花了整个下午,但我终于找到了一个解决方案,它出奇地简单、简短并且高效:要控制相关UI控件的行为(此处为DataGrid),可以简单地使用Collectio

c# - 有界数据更改后重新排序 WPF DataGrid

当基础数据更改时,我正在寻找一种方法来重新排序我的DataGrid。(设置很标准:DataGrid的ItemSource属性绑定(bind)到一个ObservableCollection;列是DataGridTextColumns;里面的数据DataGrid对ObservableCollection内部的变化做出正确react;用鼠标单击时排序工作正常)有什么想法吗? 最佳答案 我花了整个下午,但我终于找到了一个解决方案,它出奇地简单、简短并且高效:要控制相关UI控件的行为(此处为DataGrid),可以简单地使用Collectio

c# - 在 ViewModel 中使用 CollectionViewSource 的正确方法

我使用拖放将数据源对象(数据库模型)绑定(bind)到DataGrid(基本上遵循EntityFrameworkDatabindingwithWPF中的示例。此实现一切正常。XAML..代码隐藏privatevoidWindow_Loaded(objectsender,RoutedEventArgse){System.Windows.Data.CollectionViewSourcecategoryViewSource=((System.Windows.Data.CollectionViewSource)(this.FindResource("categoryViewSource"))
12