精简版我想在更改选择时将ListBox项目滚动到View中。长版我有一个ListBox,其ItemsSource绑定(bind)到一个CollectionViewSource和一个GroupDescription,如示例所示以下。代码隐藏文件中有一个SelectionChanged事件。publicListAnimals{get;set;}privatevoidListBox_SelectionChanged(objectsender,SelectionChangedEventArgse){ListBoxcontrol=(ListBox)sender;control.ScrollInt
我正在将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.
真的,这个主题说明了一切。并不是说我不能有代码在后面。它只会对我唠叨。 最佳答案 如果您“足够努力”,您几乎可以在XAML中做任何事情,uptowritingwholeprogramsinit.你永远不会绕过代码背后(好吧,如果你使用库,你不必编写任何但应用程序当然仍然依赖它),这是一个在这种特定情况下你可以做什么的例子:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Markup;us
我正在尝试对派生自CollectionViewSource的集合进行排序,该集合仅具有用于排序的SortDescriptions。不幸的是,我需要能够使用我自己的自定义IComparer,但我似乎无法找到一种方法来做到这一点。想想数据网格,我有自己的多列排序算法。我在想一种方法是使用实现CollectionChanged的集合,它是CollectionViewSource和我的真实数据源之间的附加层,但如果有人有任何建议,我真的更喜欢更好的方法。 最佳答案 BeaStollnitz有一个自定义排序示例here.那篇文章的重点
我有一个绑定(bind)到封装ObservableCollection的CollectionViewSource的WPFDataGrid。这个CollectionViewSource有两个主要目标:1)按T的特定属性对每个项目进行分组。我在GroupDescription中使用ValueConverter来获得我想要的分组行为。2)按a)主要是组名称(如上定义)和b)各个组项目对网格进行排序。我通过将自定义IComparer附加到CollectionViewSource的“CustomSort”属性来实现这一点。这在大多数情况下效果很好,但是一旦单击列标题,排序逻辑就会被覆盖。我不想禁
目前,我的CollectionViewSource按描述对项目集合进行排序。如果描述相同,我想根据ID排序。如何指定先按描述排序,然后按ID排序?我尝试添加第二个带有PropertyName="Id"的SortDescription,但没有成功。编辑:ID属性在View模型上是私有(private)的。没有抛出任何错误。 最佳答案 我不确定为什么为Id添加SortDescription不起作用,因为它应该可以正常工作。像这样:我根据您的需要整理了一个完整的示例:Xaml:代码:publicpartialclassMainWindow
我正在使用CollectionViewSource来过滤列表框中显示的记录。xaml如下。这是我的代码隐藏(请不要介意这个代码隐藏,在实际应用程序中,我正在为这种情况使用最好的MVVM)。publicpartialclassListBoxFilterUsingCollectionViewSource:Window{privatestring_text="";privatereadonlyCollectionViewSource_viewSource;publicListBoxFilterUsingCollectionViewSource(){InitializeComponent();
当基础数据更改时,我正在寻找一种方法来重新排序我的DataGrid。(设置很标准:DataGrid的ItemSource属性绑定(bind)到一个ObservableCollection;列是DataGridTextColumns;里面的数据DataGrid对ObservableCollection内部的变化做出正确react;用鼠标单击时排序工作正常)有什么想法吗? 最佳答案 我花了整个下午,但我终于找到了一个解决方案,它出奇地简单、简短并且高效:要控制相关UI控件的行为(此处为DataGrid),可以简单地使用Collectio
当基础数据更改时,我正在寻找一种方法来重新排序我的DataGrid。(设置很标准:DataGrid的ItemSource属性绑定(bind)到一个ObservableCollection;列是DataGridTextColumns;里面的数据DataGrid对ObservableCollection内部的变化做出正确react;用鼠标单击时排序工作正常)有什么想法吗? 最佳答案 我花了整个下午,但我终于找到了一个解决方案,它出奇地简单、简短并且高效:要控制相关UI控件的行为(此处为DataGrid),可以简单地使用Collectio
我使用拖放将数据源对象(数据库模型)绑定(bind)到DataGrid(基本上遵循EntityFrameworkDatabindingwithWPF中的示例。此实现一切正常。XAML..代码隐藏privatevoidWindow_Loaded(objectsender,RoutedEventArgse){System.Windows.Data.CollectionViewSourcecategoryViewSource=((System.Windows.Data.CollectionViewSource)(this.FindResource("categoryViewSource"))