Back to Devexpress

UICommand Class

corelibraries-devexpress-dot-mvvm-80f9bf8a.md

latest6.3 KB
Original Source

UICommand Class

A ViewModel that generates a dialog button.

Namespace : DevExpress.Mvvm

Assembly : DevExpress.Mvvm.v25.2.dll

NuGet Packages : DevExpress.Mvvm, DevExpress.Win.Navigation

Declaration

csharp
public class UICommand :
    BindableBase,
    IUICommand
vb
Public Class UICommand
    Inherits BindableBase
    Implements IUICommand

The following members return UICommand objects:

Show 13 links

LibraryRelated API Members
Cross-Platform Class LibraryDialogServiceExtensions.ShowDialog(IDialogService, IEnumerable<UICommand>, String, Object)
DialogServiceExtensions.ShowDialog(IDialogService, IEnumerable<UICommand>, String, String, Object, Object)
DialogServiceExtensions.ShowDialog(IDialogService, IEnumerable<UICommand>, String, String, Object)
IDialogService.ShowDialog(IEnumerable<UICommand>, String, String, Object, Object, Object)
WPF ControlsDXDialogWindow.ShowDialogWindow()
ThemedMessageBox.Show(IEnumerable<UICommand>, Window, String, UIElement, ImageSource, MessageBoxOptions, WindowStartupLocation, WindowTitleAlignment, Nullable<Boolean>)
ThemedMessageBox.Show(IEnumerable<UICommand>, Window, String, UIElement, MessageBoxImage, Boolean, MessageBoxOptions, WindowStartupLocation, WindowTitleAlignment, Nullable<Boolean>)
ThemedMessageBox.Show(String, IEnumerable<UICommand>, Window, String, ImageSource, MessageBoxOptions, WindowStartupLocation, WindowTitleAlignment, Nullable<Boolean>)
ThemedMessageBox.Show(String, IEnumerable<UICommand>, Window, String, MessageBoxImage, Boolean, MessageBoxOptions, WindowStartupLocation, WindowTitleAlignment, Nullable<Boolean>)
ThemedMessageBox.Show(String, String, IEnumerable<UICommand>, ThemedMessageBoxParameters)
ThemedWindow.DialogButtonCommandResult
ThemedWindow.ShowDialog(IEnumerable<UICommand>)
ThemedWindowDialogButton.UICommand

Remarks

The following example generates dialog buttons:

csharp
UICommand registerCommand = new UICommand(
    id: null,
    caption: "Register",
    command: new DelegateCommand<CancelEventArgs>(
        cancelArgs => {
            try {
                myExecuteMethod();
            }
            catch (Exception e) {
                this.GetService<IMessageBoxService>().ShowMessage(e.Message, "Error", MessageButton.OK);
                cancelArgs.Cancel = true;
            }
        },
        cancelArgs => !string.IsNullOrEmpty(registrationViewModel.UserName)
    ),
    isDefault: true,
    isCancel: false
);

UICommand cancelCommand = new UICommand(
    id: MessageBoxResult.Cancel,
    caption: "Cancel",
    command: null,
    isDefault: false,
    isCancel: true
);

IDialogService service = this.GetService<IDialogService>(serviceName);
UICommand result = service.ShowDialog(
    dialogCommands: new[] { registerCommand, cancelCommand },
    title: "Registration Dialog",
    viewModel: detailViewModel
);
vb
Dim registerCommand As UICommand = New UICommand(
    id:=Nothing, 
    caption:="Register", 
    command:=New DelegateCommand(Of CancelEventArgs)(
        Function(cancelArgs)
            Try
                myExecuteMethod()
            Catch e As Exception
                Me.GetService(Of IMessageBoxService)().ShowMessage(e.Message, "Error", MessageButton.OK)
                cancelArgs.Cancel = True
            End Try
        End Function, 
        Function(cancelArgs) 
            Not String.IsNullOrEmpty(registrationViewModel.UserName)), isDefault:=True, isCancel:=False)

Dim cancelCommand As UICommand = New UICommand(
    id:=MessageBoxResult.Cancel, 
    caption:="Cancel", 
    command:=Nothing, 
    isDefault:=False, 
    isCancel:=True)

Dim service As IDialogService = Me.GetService(Of IDialogService)(serviceName)

Dim result As UICommand = 
    service.ShowDialog(
        dialogCommands:={registerCommand, cancelCommand}, 
        title:="Registration Dialog", 
        viewModel:=detailViewModel)

View Example: How to: Use DialogService

Important

DXDialogWindow remains in our WPF suite for compatibility but lacks async UICommand support and other modern features. Use ThemedWindow instead.

Inheritance

Object BindableBase UICommand

See Also

UICommand Members

DevExpress.Mvvm Namespace