Как привязать две коллекции к одному ItemsControl?

235
07 февраля 2018, 10:04

Всем привет! Не могу решить проблему.

Дано:

  1. Две коллекции во ViewModel.
  2. Один ItemsControl.

Задача:

  1. Привязать обе коллекции к одному ItemsControl.
  2. Одну коллекцию нужно время от времени фильтровать и сортировать во ViewModel.

Что пробовал:

  1. CompositeCollection - не привязывается ко ViewModel.
  2. IMultiValueConverter+ две ICollectionView - фильтр работать не будет при вызове Refresh() у одной из них.

Хотелось бы использовать сортировку и фильтрацию именно как у ICollectionView и во ViewModel, не пересоздавая ее целиком при каждой фильтрации.

Как это можно сделать?

UPDATE

Вот так кажется завелось.

Во ViewModel:

public ICollectionView SomeCollectionView1 => _someCollectionSource1?.View;
public ICollectionView SomeCollectionView2 => _someCollectionSource2?.View;

В xaml:

<ItemsControl.ItemsSource>
    <CompositeCollection>
        <CollectionContainer Collection="{Binding Path=SomeCollectionView1, Source={StaticResource Locator}}"/>
        <CollectionContainer Collection="{Binding Path=SomeCollectionView2, Source={StaticResource Locator}}"/>
    </CompositeCollection>
</ItemsControl.ItemsSource>
READ ALSO
Visual C#, DataGridView событие CellValueChanged ограничение ввода символов

Visual C#, DataGridView событие CellValueChanged ограничение ввода символов

Доброго времени сутокКак в DataGridView через событие CellValueChanged сделать ограниченный ввод символов в ячейках столбца в котором в данный момент...

224
Рандом по массиву с шансами

Рандом по массиву с шансами

У меня есть массив с объектами, например:

228
Не работает Worker на Javascript

Не работает Worker на Javascript

Доброго времени суток, друзьяИзучал Javascript и столкнулся с такой проблемой - код для подсчета простых чисел в фоновом режиме не работает

354