An MVVM framework for building WPF/UWP applications.
The BindableBase class is the base class describing view models within the application.
It provides a basic implementation of the INotifyPropertyChanged event used to notify
subscribers (views) bound to the view model that the view model has changed.
To create your own view models, one has to simply inherit from the BindableBase as shown in the example bellow:
public class ViewModelExample : BindableBase {
private string name;
public string Name {
get { return this.name; }
set { base.SetValue(ref this.name, value); }
}
}The line base.SetValue(ref this.name, value) updates the value of the private field name and
will also raise the INotifyPropertyChanged event.
The BindableTask class is a wrapper around System.Threading.Task or System.Threading.Task<T>
so that the UI can databound to a long running operation (the task) and be able to be notified when the
task has finished its execution.
For the purpose - a BindableTask or BindableTask<T> expose the following properties, for each of which
the INotifiedPropertyChanged event is reaised whenever the underlying task has completed depending on
how the task has actually completed:
- Status
- IsCompleted
- IsNotCompleted
- IsCanceled
- IsFaulted
- Exception
- IsSuccessfullyCompleted
In the case of BindableTask<T> the INotifyPropertyChanged is also raised for the Result property.