ViewModelBase
Base class for implementing View-Model in MVVM pattern.
Erbt von: Disposable
Implementiert: INotifyPropertyChanged
Methoden
protected DelegateCommand CreateCommand(Action execute, Func<object, bool> canExecute)
result = viewModelBase.CreateCommand(execute, canExecute)
Creates and registers a command without parameter.
- execute
- The execution logic.
- canExecute
- The execution status logic.
Rückgabe: The created command.
protected DelegateCommand<T> CreateCommand<T>(Action<T> execute, Func<T, bool> canExecute)
result = viewModelBase.CreateCommand(execute, canExecute)
Creates and registers a command with parameter.
- execute
- The execution logic.
- canExecute
- The execution status logic.
Rückgabe: The created command.
protected override void DisposeManaged()
viewModelBase.DisposeManaged()
Disposes the managed resources. Override this method to add custom clean up of managed resources.
protected T GetValue<T>(string name)
result = viewModelBase.GetValue(name)
Gets property value from internal storage.
- name
- Property name (auto-filled by compiler).
Rückgabe: Property value or default if not set.
protected virtual void OnPropertyChanged(string name)
viewModelBase.OnPropertyChanged(name)
Raises the PropertyChanged event.
- name
- Property name.
protected void OnPropertyChanged<T>(Expression<Func<T>> selectorExpression)
viewModelBase.OnPropertyChanged(selectorExpression)
Raises the PropertyChanged event using expression.
- selectorExpression
- Property selector expression.
public static string PropertyName<T>(Expression<Func<T>> property)
result = ViewModelBase.PropertyName(property)
Gets property name from expression.
- property
- Property expression.
Rückgabe: Property name.
protected TCommand RegisterCommand<TCommand>(TCommand command)
result = viewModelBase.RegisterCommand(command)
Registers a command to be disposed when this ViewModel is disposed.
- command
- The command to register.
Rückgabe: The registered command for method chaining.
protected bool SetField<T>(T field, T value, Expression<Func<T>> selectorExpression)
result = viewModelBase.SetField(field, value, selectorExpression)
Sets field value and raises PropertyChanged if value changed.
- field
- Field reference.
- value
- New value.
- selectorExpression
- Property selector expression.
Rückgabe: True if value was changed.
protected virtual bool SetField<T>(T field, T value, string name)
result = viewModelBase.SetField(field, value, name)
Sets field value and raises PropertyChanged if value changed.
- field
- Field reference.
- value
- New value.
- name
- Property name.
Rückgabe: True if value was changed.
protected bool SetValue<T>(T value, string name)
result = viewModelBase.SetValue(value, name)
Sets property value and raises PropertyChanged if value changed.
- value
- New value.
- name
- Property name (auto-filled by compiler).
Rückgabe: True if value was changed.
Ereignisse
public event PropertyChangedEventHandler PropertyChanged
viewModelBase.PropertyChanged += handler
PropertyChanged.