Class AsyncRelayCommand
A command that mirrors the functionality of RelayCommand, with the addition of accepting a Func<TResult> returning a Task as the execute action, and providing an executionTask property that notifies changes when ExecuteAsync(object?) is invoked and when the returned Task completes.
Inherited Members
Namespace: Unity.AppUI.MVVM
Assembly: solution.dll
Syntax
public class AsyncRelayCommand : IAsyncRelayCommand, IRelayCommand, ICommand, INotifyPropertyChanged
  Constructors
| Name | Description | 
|---|---|
| AsyncRelayCommand(Func<CancellationToken, Task>) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<CancellationToken, Task>, Func<bool>) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<CancellationToken, Task>, Func<bool>, AsyncRelayCommandOptions) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<CancellationToken, Task>, AsyncRelayCommandOptions) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<Task>) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<Task>, Func<bool>) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<Task>, Func<bool>, AsyncRelayCommandOptions) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
| AsyncRelayCommand(Func<Task>, AsyncRelayCommandOptions) | Initializes a new instance of the AsyncRelayCommand class.  | 
      
Fields
| Name | Description | 
|---|---|
| CanBeCanceledChangedEventArgs | The arguments for the PropertyChanged event raised by the canBeCancelled property.  | 
      
| ExecutionTaskChangedEventArgs | The arguments for the PropertyChanged event raised by the executionTask property.  | 
      
| IsCancellationRequestedChangedEventArgs | The arguments for the PropertyChanged event raised by the isCancellationRequested property.  | 
      
| IsRunningChangedEventArgs | The arguments for the PropertyChanged event raised by the isRunning property.  | 
      
Properties
| Name | Description | 
|---|---|
| canBeCancelled | Gets the CancellationTokenSource that can be used to cancel the asynchronous operation.  | 
      
| executionTask | Gets the Task that represents the asynchronous operation.  | 
      
| isCancellationRequested | Gets the CancellationTokenSource that can be used to cancel the asynchronous operation.  | 
      
| isRunning | Gets the CancellationTokenSource that can be used to cancel the asynchronous operation.  | 
      
Methods
| Name | Description | 
|---|---|
| CanExecute() | Determines whether this AsyncRelayCommand can execute in its current state.  | 
      
| CanExecute(object?) | Determines whether this AsyncRelayCommand can execute in its current state.  | 
      
| Cancel() | Cancels the AsyncRelayCommand on the current command target.  | 
      
| Execute() | Executes the AsyncRelayCommand on the current command target.  | 
      
| Execute(object?) | Executes the AsyncRelayCommand on the current command target.  | 
      
| ExecuteAsync(object?) | Executes the AsyncRelayCommand on the current command target.  | 
      
| NotifyCanExecuteChanged() | Raises the CanExecuteChanged event.  | 
      
Events
| Name | Description | 
|---|---|
| CanExecuteChanged | Event that is raised when changes occur that affect whether or not the AsyncRelayCommand should execute.  | 
      
| PropertyChanged | Event that is raised when the executionTask property changes.  |