Sortowanie kolekcji kompozytowej

Tak więc WPF nie obsługuje standardowego sortowania lub filtrowania dla widoków CompositeCollections, więc jaka byłaby najlepsza praktyka dla rozwiązania tego problemu.

Istnieją dwie lub więcej kolekcji obiektów różnych typów. Chcesz połączyć je w jedną sortowalną i filtrowalną kolekcję (bez konieczności ręcznego wprowadzania sortowania lub filtrowania).

Jednym z podejść, które rozważałem, jest utworzenie nowej kolekcji obiektów z zaledwie kilkoma podstawowymi właściwościami, w tym tymi, które chciałbym posortować kolekcję, oraz instancją obiektu każdego typu.

class MyCompositeObject
{
    enum           ObjectType;
    DateTime       CreatedDate;
    string         SomeAttribute;
    myObjectType1  Obj1;
    myObjectType2  Obj2;
{
class MyCompositeObjects : List<MyCompositeObject> { }

Następnie przejrzyj moje dwie kolekcje obiektów, aby zbudować nową kolekcję kompozytową. Jest to oczywiście metoda brutalnej siły, ale zadziała. Otrzymałbym wszystkie domyślne sortowanie i filtrowanie widoku w mojej nowej kolekcji obiektów złożonych i byłbym w stanie umieścić na nim szablon danych, aby poprawnie wyświetlać elementy listy w zależności od tego, który typ jest rzeczywiście przechowywany w tym złożonym elemencie.

Jakie są sugestie, aby zrobić to w bardziej elegancki sposób?

questionAnswers(3)

yourAnswerToTheQuestion