Вы сможете выполнить это с CollectionView .
CollectionView инкапсулирует сортировку и фильтрацию.
В вашем случае, если вы создадите CollectionView, который отфильтровывает неактивные проекты в вашей основной коллекции и свяжет второй список с этим представлением, у вас все получится.
РЕДАКТИРОВАТЬ: Если бы я только прочитал полное название и понял, что он говорил о Silverlight ...
Silverlight не имеет ни публичной реализации ICollectionView, ни CollectionViewSource, и в любом случае только Datagrid использует интерфейс.
Тот, кто проголосовал за, должен отменить его, это не очень хороший ответ на вопрос.
Думаю, я вернусь к чертежной доске. Прямо сейчас я бы сказал, что у меня будет две коллекции, и послушаю события первой (полной), чтобы
- добавить / удалить из второго, когда активный элемент добавлен / удален
- добавить / удалить обработчик PropertyChanged для добавленных / удаленных элементов
а также
- добавить / удалить в / из второй коллекции, когда свойство Active изменилось.
Это грязно, но может быть достаточно пакетируемым, чтобы использовать его повторно, когда вам нужна коллекция, отфильтрованная по предикату.