Name |
Description |
DualTrackedObject |
A composite object wrapping both CollectionChangedTrackObject and PropertyChangedTrackedObject to support tracked object implementing both INotifyPropertyChanged and INotifyCollectionChanged. |
Global |
|
PayBase |
|
PropertyChangedTrackedObject |
Wraps INotifyPropertyChanged. Responsibility: - Handle INotifyPropertyChanged.PropertyChanged and fire Changed.
- Create a TrackedObject for each eligible property (see IsEligibleProperty) and handle its Changed event. Keep track of these properties in _registeredProperties so that they can be cleaned up later.
- If an eligible property is assigned with a new object, create a TrackedObject for the new value and listen to its Changed event; at the same time, dispose old value in _registeredProperties so that it can be garbaged collected.
|
TrackClassAttribute |
|
TrackMemberAttribute |
|
TrackedObject |
Represents a tracked object and wraps the original object. |
Tracker |
Creates an instance of this class to track changes to as many objects as needed. It automatically drills down and track changes to all objects reachable from the explicitly tracked objects. In a MVVM application, it should be sufficient to track just the root view model. |