C# 可排序对象集合

C# 可排序对象集合,c#,wpf,C#,Wpf,我在找方向 我需要一个可排序的对象集合,当我将其绑定到菜单项(作为应用程序中打开的窗口列表)时,该集合还可以通知何时从此集合中添加/删除项 请有人告诉我哪一种是好的收集类型,即列表、可观察收集等,以及我将如何对所述收集进行排序 非常感谢。 -我在我的项目中使用了这个,它工作得非常完美(我必须这样做,它也实现了IList接口,所以它可以用来定义XAML中的集合)。 -我在我的项目中使用了这个工具,它工作得非常完美(我不得不这样做,它也实现了IList接口,所以它可以用来定义XAML中的集合)。您是

我在找方向

我需要一个可排序的对象集合,当我将其绑定到菜单项(作为应用程序中打开的窗口列表)时,该集合还可以通知何时从此集合中添加/删除项

请有人告诉我哪一种是好的收集类型,即列表、可观察收集等,以及我将如何对所述收集进行排序

非常感谢。

-我在我的项目中使用了这个,它工作得非常完美(我必须这样做,它也实现了IList接口,所以它可以用来定义XAML中的集合)。

-我在我的项目中使用了这个工具,它工作得非常完美(我不得不这样做,它也实现了IList接口,所以它可以用来定义XAML中的集合)。

您是否尝试过将它与一个工具一起使用?这些将完全满足您的需求—将对象集合绑定到可导航菜单

至于排序,您只需获取BindingSource项的列表,清除BindingSource,对列表进行排序,然后再次将排序后的项添加到BindingSource

有关有用的示例,请参见以下链接:

您是否尝试过与a一起使用?这些将完全满足您的需求—将对象集合绑定到可导航菜单

至于排序,您只需获取BindingSource项的列表,清除BindingSource,对列表进行排序,然后再次将排序后的项添加到BindingSource

有关有用的示例,请参见以下链接:


您可以尝试将您的ObservableCollection包装在一个容器中,通知将被传播,您可以对项目进行排序、筛选和分组


请注意,排序不会修改源集合,如果您需要将更改永久化,这可能是一个问题,那么就在昨天,我还是第一次使用该类,所以对它不太了解,也许您可以以某种方式将排序应用于源集合。

您可以尝试将您的ObservableCollection封装在,通知将被传播,您可以对项目进行排序、筛选和分组


请注意,排序不会修改源集合,如果您需要将更改永久化,这可能是一个问题,那么就在昨天,我还是第一次使用该类,所以对它不太了解,也许您可以以某种方式将排序应用于源集合。

感谢所有的回复

当我意识到绑定到菜单项时,我只需要为显示目的对集合进行排序,就可以简化事情

因此,在本例中,我可以使用以下代码通过菜单项parent(miPanels)对面板对象列表进行排序。(PanelName是对象的属性之一)


再次感谢所有花时间查看和回复的人。

感谢所有回复

当我意识到绑定到菜单项时,我只需要为显示目的对集合进行排序,就可以简化事情

因此,在本例中,我可以使用以下代码通过菜单项parent(miPanels)对面板对象列表进行排序。(PanelName是对象的属性之一)

再次感谢所有花时间查看和回复的人

 miPanels.Items.SortDescriptions.Add(new SortDescription("PanelName", ListSortDirection.Ascending));