Class ViewModelBase
Clase base para la creación de ViewModels.
Inheritance
Inherited Members
Namespace: TheXDS.MCART.Types.Base
Assembly: MCART.Mvvm.dll
Syntax
public abstract class ViewModelBase : NotifyPropertyChanged, INotifyPropertyChangeBase, IRefreshable, INotifyPropertyChanged
Constructors
| Edit this page View SourceViewModelBase()
Inicializa una nueva instancia de la clase ViewModelBase.
Declaration
protected ViewModelBase()
Properties
| Edit this page View SourceIsBusy
Obtiene un valor que indica si este ViewModelBase está ocupado.
Declaration
public bool IsBusy { get; protected set; }
Property Value
Type | Description |
---|---|
bool |
Methods
| Edit this page View SourceBusyOp(Action)
Ejecuta una acción controlando automáticamente el estado de 'ocupado' de este ViewModel.
Declaration
protected void BusyOp(Action action)
Parameters
Type | Name | Description |
---|---|---|
Action | action | Acción a ejecutar. |
BusyOp(Task)
Ejecuta una tarea controlando automáticamente el estado de 'ocupado' de este ViewModel.
Declaration
protected Task BusyOp(Task task)
Parameters
Type | Name | Description |
---|---|---|
Task | task | Tarea a ejecutar. |
Returns
Type | Description |
---|---|
Task | Un Task que puede utilizarse para monitorear la operación asíncrona. |
BusyOp<T>(Func<T>)
Ejecuta una función controlando automáticamente el estado de 'ocupado' de este ViewModel
Declaration
protected T BusyOp<T>(Func<T> function)
Parameters
Type | Name | Description |
---|---|---|
Func<T> | function | Función a ejecutar. |
Returns
Type | Description |
---|---|
T | El resultado de ejecutar la función especificada. |
Type Parameters
Name | Description |
---|---|
T | Tipo de resultado de la función. |
BusyOp<T>(Task<T>)
Ejecuta una tarea que devuelve un resultado controlando automáticamente el estado de 'ocupado' de este ViewModel.
Declaration
protected Task<T> BusyOp<T>(Task<T> task)
Parameters
Type | Name | Description |
---|---|---|
Task<T> | task | Tarea a ejecutar. |
Returns
Type | Description |
---|---|
Task<T> | Un Task que puede utilizarse para monitorear la operación asíncrona. |
Type Parameters
Name | Description |
---|---|
T | Tipo de resultado devuelto por la tarea. |
~ViewModelBase()
Destruye esta instancia de la clase ViewModelBase.
Declaration
protected ~ViewModelBase()
Observe(Expression<Func<object?>>[], Action)
Registra una propiedad con notificación de cambio de valor para ser observada y manejada por el delegado especificado.
Declaration
protected void Observe(Expression<Func<object?>>[] propertySelectors, Action handler)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<object>>[] | propertySelectors | Funciones selectoras de las propiedades a observar. |
Action | handler | Delegado a invocar cuando cualquiera de las propiedades haya cambiado. |
Exceptions
Type | Condition |
---|---|
InvalidArgumentException | Se produce si la función de selección de propiedad no ha seleccionado un miembro válido de la instancia a configurar. |
ArgumentNullException | Se produce si |
EmptyCollectionException | Se produce si |
Observe(string, Action)
Registra una propiedad con notificación de cambio de valor para ser observada y manejada por el delegado especificado.
Declaration
protected void Observe(string propertyName, Action handler)
Parameters
Type | Name | Description |
---|---|---|
string | propertyName | Nombre de la propiedad a observar. |
Action | handler | Delegado a invocar cuando la propiedad haya cambiado. |
Exceptions
Type | Condition |
---|---|
InvalidArgumentException | Se produce si |
ArgumentNullException | Se produce si |
Observe(string[], Action)
Registra una propiedad con notificación de cambio de valor para ser observada y manejada por el delegado especificado.
Declaration
protected void Observe(string[] propertyNames, Action handler)
Parameters
Type | Name | Description |
---|---|---|
string[] | propertyNames | Nombres de las propiedades a observar. |
Action | handler | Delegado a invocar cuando cualquiera de las propiedades haya cambiado. |
Exceptions
Type | Condition |
---|---|
InvalidArgumentException | Se produce si cualquiera de los elementos de
|
ArgumentNullException | Se produce si |
ObserveFrom(INotifyPropertyChanged, PropertyInfo, Action)
Registra una propiedad con notificación de cambio de valor para ser observada y manejada por el delegado especificado.
Declaration
protected void ObserveFrom(INotifyPropertyChanged source, PropertyInfo property, Action handler)
Parameters
Type | Name | Description |
---|---|---|
INotifyPropertyChanged | source | Origen observado. |
PropertyInfo | property | Propiedad a observar. |
Action | handler | Delegado a invocar cuando la propiedad haya cambiado. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Se produce si |
MissingMemberException | Se produce si la propiedad no ha sido encontrada en la instancia a configurar. |
ObserveFrom<T>(T, Expression<Func<T, object?>>, Action)
Registra una propiedad con notificación de cambio de valor para ser observada y manejada por el delegado especificado.
Declaration
protected void ObserveFrom<T>(T source, Expression<Func<T, object?>> propertySelector, Action handler) where T : notnull, INotifyPropertyChanged
Parameters
Type | Name | Description |
---|---|---|
T | source | Origen observado. |
Expression<Func<T, object>> | propertySelector | Función selectora de la propiedad a observar. |
Action | handler | Delegado a invocar cuando la propiedad haya cambiado. |
Type Parameters
Name | Description |
---|---|
T | Tipo de la propiedad. |
Exceptions
Type | Condition |
---|---|
InvalidArgumentException | Se produce si la función de selección de propiedad no ha seleccionado un miembro válido de la instancia a configurar. |
ArgumentNullException | Se produce si |
Observe<T>(Expression<Func<T>>, Action)
Registra una propiedad con notificación de cambio de valor para ser observada y manejada por el delegado especificado.
Declaration
protected void Observe<T>(Expression<Func<T>> propertySelector, Action handler)
Parameters
Type | Name | Description |
---|---|---|
Expression<Func<T>> | propertySelector | Función selectora de la propiedad a observar. |
Action | handler | Delegado a invocar cuando la propiedad haya cambiado. |
Type Parameters
Name | Description |
---|---|
T | Tipo de la propiedad. |
Exceptions
Type | Condition |
---|---|
InvalidArgumentException | Se produce si la función de selección de propiedad no ha seleccionado un miembro válido de la instancia a configurar. |
ArgumentNullException | Se produce si |