-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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.
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 is semi-random. It's just the MVVM abbreviation with some random vowels.
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.
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.