Я думаю, что это невозможно сделать без написания кода.
Я бы использовал CollectionView
вместо привязки коллекции непосредственно к ListView. Это то, что WPF будет делать внутри, но создавая их самостоятельно, вы будете иметь контроль над многими вещами, такими как сортировка и, конечно, фильтры.
Создайте их, используя CollectionViewSource.GetDefaultView(yourCollection)
.
Примените фильтры и на установщик свойства id вашей команды сделайте CollectionView.Refresh()
при изменении идентификатора команды. Если у вас нет слишком много данных, это не большая проблема. Но на многих данных Refresh()
для трех представлений может быть немного тяжелым.
EDIT:
Я забыл вам сказать, что вы должны установить источник для каждого из ваших ListViews на соответствующий CollectionView, но я думаю, что это очевидно.