Show / Hide Table of Contents

Class ViewModelBase

Clase base para la creación de ViewModels.

Inheritance
object
NotifyPropertyChangeBase
NotifyPropertyChanged
ViewModelBase
EntityViewModel<T>
FormViewModelBase
WindowViewModel
Implements
INotifyPropertyChangeBase
IRefreshable
INotifyPropertyChanged
Inherited Members
NotifyPropertyChanged.PropertyChanged
NotifyPropertyChanged.Notify(params string[])
NotifyPropertyChanged.Notify(string)
NotifyPropertyChanged.RaisePropertyChangeEvent(in string, in PropertyChangeNotificationType)
NotifyPropertyChanged.OnDoChange<T>(ref T, T, string)
NotifyPropertyChangeBase.OnInitialize(NotifyPropertyChangeBase.IPropertyBroadcastSetup)
NotifyPropertyChangeBase.Refresh()
NotifyPropertyChangeBase.Subscribe(PropertyInfo, PropertyChangeObserver)
NotifyPropertyChangeBase.Subscribe(PropertyChangeObserver)
NotifyPropertyChangeBase.Subscribe(Expression<Func<object>>, PropertyChangeObserver)
NotifyPropertyChangeBase.Unsubscribe(PropertyChangeObserver)
NotifyPropertyChangeBase.Unsubscribe(PropertyInfo)
NotifyPropertyChangeBase.Unsubscribe(Expression<Func<object>>)
NotifyPropertyChangeBase.Change<T>(ref T, T, string)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: TheXDS.MCART.Types.Base
Assembly: MCART.Mvvm.dll
Syntax
public abstract class ViewModelBase : NotifyPropertyChanged, INotifyPropertyChangeBase, IRefreshable, INotifyPropertyChanged

Constructors

| Edit this page View Source

ViewModelBase()

Inicializa una nueva instancia de la clase ViewModelBase.

Declaration
protected ViewModelBase()

Properties

| Edit this page View Source

IsBusy

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 Source

BusyOp(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.

| Edit this page View Source

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.

| Edit this page View Source

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.

| Edit this page View Source

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.

| Edit this page View Source

~ViewModelBase()

Destruye esta instancia de la clase ViewModelBase.

Declaration
protected ~ViewModelBase()
| Edit this page View Source

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 propertySelectors o handler son null.

EmptyCollectionException

Se produce si propertySelectors no contiene elementos.

| Edit this page View Source

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 propertyName es una cadena vacía o una cadena de espacios.

ArgumentNullException

Se produce si propertyName o handler son null.

| Edit this page View Source

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 propertyNames es null, una cadena vacía o una cadena de espacios.

ArgumentNullException

Se produce si propertyNames o handler son null.

| Edit this page View Source

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 source, property o handler son null.

MissingMemberException

Se produce si la propiedad no ha sido encontrada en la instancia a configurar.

| Edit this page View Source

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 source, propertySelector o handler son null.

| Edit this page View Source

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 propertySelector o handler son null.

Implements

INotifyPropertyChangeBase
IRefreshable
INotifyPropertyChanged

Extension Methods

Objects.ShallowCopyTo(object, object, Type)
ObjectExtensions.FieldsOf<T>(object)
ObjectExtensions.GetAttribute<T>(object)
ObjectExtensions.GetAttributes<T>(object)
ObjectExtensions.HasAttrValue<TAttribute, TValue>(object, out TValue)
ObjectExtensions.HasAttribute<T>(object)
ObjectExtensions.HasAttribute<T>(object, out T?)
ObjectExtensions.HasAttributes<T>(object, out IEnumerable<T>?)
ObjectExtensions.Is(object?, object?)
ObjectExtensions.IsEither(object, IEnumerable)
ObjectExtensions.IsEither(object, params object[])
ObjectExtensions.IsNeither(object, IEnumerable)
ObjectExtensions.IsNeither(object, params object[])
ObjectExtensions.IsNot(object?, object?)
ObjectExtensions.PropertiesOf<T>(object)
ObjectExtensions.WhichAre(object, IEnumerable<object>)
ObjectExtensions.WhichAre(object, params object[])
Common.IfNotNull<T>(T?, Action<T>)
Objects.Itself<T>(T)
Objects.ShallowCopyTo<T>(T, T)
ObservingCommandBuilder.Create<T>(T, Action)
ObservingCommandBuilder.Create<T>(T, Action<object?>)
ObservingCommandBuilder.Create<T>(T, Func<object?, Task>)
ObservingCommandBuilder.Create<T>(T, Func<Task>)
CollectionExtensions.PushInto<TItem, TCollection>(TItem, ICollection<TCollection>)
DictionaryExtensions.PushInto<TKey, TValue>(TValue, TKey, IDictionary<TKey, TValue>)
NotifyPropertyChangeBaseExtensions.Subscribe<T>(T, Expression<Func<T, object?>>, PropertyChangeObserver)
NotifyPropertyChangeBaseExtensions.Unsubscribe<T>(T, Expression<Func<T, object?>>)
  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX