you should be able to carry that out with a CollectionView.
CollectionView encapsulates sorting and filtering.
In you case, if you create a CollectionView that filters out inactive projects on your main collection and bind the second list to that view, you should be good to go.
EDIT: If only I read the full title and realised he was talking about Silverlight...
Silverlight has no public implementation of ICollectionView, nor a CollectionViewSource, and only the Datagrid makes use of the interface anyway.
Whoever up-voted should please cancel it, this is not a good answer to the question.
Back to the drawing board I guess. Right now I would say I would have two collections, and listen to the events on the first one (the full one) to
- add/remove from the second one when an Active item is added/removed
- add/remove a PropertyChanged handler on the added/removed items
and
- add/remove to/from the second collection when the Active property has changed.
It is messy, but it might be packageable enough to reuse it when you need a collection filtered by a predicate.