2011-02-09 61 views
0

我尋找一些方向。可排序的對象集合

我需要的對象時,將項目添加/移除此集合,因爲我將它綁定到一個菜單項,在我的應用程序打開的窗口的列表,也可以通知的可排序的集合。

有人可能會建議哪一個將是一個很好的集合類型,即列表<>,ObservableCollection等等,以及我將如何去排序所述集合。

很多預先感謝。

回答

0

感謝所有的答覆。

之所以能夠把事情簡單化,因爲我意識到我只需要收集到用於顯示目的結合時的菜單項進行排序。

因此,我能夠使用下面的代碼通過在這種情況下,菜單項的父(miPanels)清理我的面板對象的列表。 (PanelName是對象的屬性之一)

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

再次感謝所有花時間查看和回覆的人。

0

您是否嘗試過使用沿着System.Windows.Forms.BindingSourceSystem.Windows.Forms.BindingNavigator?這些將完成聽起來像你需要的東西 - 將一組對象綁定到可導航菜單。

至於排序,你只需要得到一個BindingSource的項目列表,清除BindingSource,在列表中進行排序,然後再次將排序的項目添加到BindingSource。

請參見以下鏈接獲取有用的例子:

1

你可以嘗試和包裝你的ObservableCollection在CollectionView,通知會propaga特德,你可以排序,過濾和分組項目。

請注意,排序不會修改源集合,這可能是一個問題,如果您需要更改是永久性的,那麼只有在昨天我第一次使用該類,所以不太瞭解它,也許您可以以某種方式將排序應用於源。