Skip to content
Yeah69 edited this page Nov 6, 2016 · 5 revisions

Welcome to the MuVaViMo wiki!#

I'll try to include descriptions for each class and interface here. If something is missing or a description is not clear enough, feel free to add an issue to give me a hint.

Here, some general things.

Topic of this project

WPF and MVVM is a great combination, but yet there are some inconvenient situation. I often encounter it with synchronizing the Model structures with the ViewModel structures. So the first three classes (ConcatenatingObservableReadOnlyList, TransformingObservableReadOnlyList and WrappingObservableReadOnlyList) and the first Interface (IObservableReadOnlyList) of this project are dedicated to make synchronized structures Model- and ViewModel-sided easier.

I definitly created this project out of egoistic purposes. I already used it in my current projects and will continue to do so. This means that in future this project maybe extended. Maybe something will follow, which has nothing to do with observable read-only lists. But this project will surely stay in MVVM.

The Name MuVaViMo

The name MuVaViMo is semi-random. It's just the MVVM abbreviation with some random vowels.

Structure of the Single Pages

Each page describing a class or an interface in this wiki has the same structure. They all have an Intention-, Motivation-, Features- and Examples-paragraph. The Intention is a short description of the purposes of the class. The Motivation is more elaborate in that manner. In the Features I go more technically into details. And finally in the Examples there is showcased how to use the class/interface.

Combining the IObservableReadOnlyList classes

The three classes ConcatenatingObservableReadOnlyList, TransformingObservableReadOnlyList and WrappingObservableReadOnlyList all implement the IObservableReadOnlyList, and ConcatenatingObservableReadOnlyList and TransformingObservableReadOnlyList take IObservableReadOnlyList as soure lists. Thus, they can be combined arbitrarily. For example an ObservableCollection could be wrapped with the WrappingObservableReadOnlyList, which could be transformed with the TransformingObservableReadOnlyList, which could be concatenated with another IObservableReadOnlyList with the help of a ConcatenatingObservableReadOnlyList.

Clone this wiki locally