All docs
V21.2
21.2
21.1
20.2
20.1
The page you are viewing does not exist in version 20.1. This link will take you to the root page.
19.2
The page you are viewing does not exist in version 19.2. This link will take you to the root page.
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.

ConfirmationBehavior Class

Shows a confirmation message box before an application executes the specified command. Users can confirm or cancel the operation.

Namespace: DevExpress.Mvvm.UI

Assembly: DevExpress.Xpf.Core.v21.2.dll

Declaration

public class ConfirmationBehavior :
    Behavior<DependencyObject>

Remarks

The following code sample attaches a command to a Button and enables a confirmation message for this command:

<UserControl x:Class="Example.View.MainView"
<!-- ... -->
    xmlns:ViewModel="clr-namespace:Example.ViewModel"
    xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
    <!-- ... -->
    <UserControl.Resources>
        <dxmvvm:BooleanNegationConverter x:Key="BooleanNegationConverter"/>
        <dxmvvm:BooleanToObjectConverter x:Key="BooleanToObjectConverter" TrueValue="Saved!" FalseValue="Unsaved!"/>
    </UserControl.Resources>

    <UserControl.DataContext>
        <ViewModel:MainViewModel/>
    </UserControl.DataContext>

    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <StackPanel Orientation="Horizontal">
            <Button Content="Save" Command="{Binding SaveCommand}"/>
            <Button Content="Close">
                <dxmvvm:Interaction.Behaviors>
                    <dxmvvm:ConfirmationBehavior EnableConfirmationMessage="{Binding IsSaved, Converter={StaticResource BooleanNegationConverter}}" 
                                                 Command="{Binding CloseCommand}" MessageText="The document has unsaved changes. Do you want to close the document?"/>
                </dxmvvm:Interaction.Behaviors>
            </Button>
            <TextBlock Text="{Binding IsSaved, Converter={StaticResource BooleanToObjectConverter}}"/>
        </StackPanel>
        <TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Grid.Row="1"/>
    </Grid>
</UserControl>
using DevExpress.Mvvm;
using DevExpress.Mvvm.DataAnnotations;
// ...
    public class MainViewModel : ViewModelBase {

        string savedText;

        public string Text {
            get => GetValue<string>();
            set {
                SetValue(value);
                RaisePropertyChanged(nameof(IsSaved));
            }
        }
        // ...
        [Command]
        public void Close() {
            savedText = string.Empty;
            Text = string.Empty;
        }
    }
}

Run Demo: Behaviors Module in the WPF MVVM Demo

View Example

Customize a Confirmation Box

Property Desciption
Command Gets or sets the command that runs if the user accepts the confirmation message. This is a dependency property.
CommandPropertyName Gets or sets a name of an associated control’s command property. This is a dependency property.
CommandParameter Gets or sets parameters to pass to the Command. This is a dependency property.
EnableConfirmationMessage Gets or sets whether a confirmation message should be displayed. This is a dependency property.
MessageBoxService Gets or sets a custom message box service. You can use the WinUIMessageBox or create a custom message box that implements the IMessageBoxService interface. This is a dependency property.
MessageDefaultResult Gets or sets the confirmation message button that should be focused when the message appears. This is a dependency property.
MessageButton Gets or sets the confirmation message buttons. This is a dependency property.
MessageIcon Gets or sets the confirmation message icon. This is a dependency property.
MessageText Gets or sets the confirmation message text. This is a dependency property.
MessageTitle Gets or sets the confirmation message title. This is a dependency property.

Inheritance

Object
DispatcherObject
DependencyObject
Freezable
Animatable
DevExpress.Mvvm.UI.Interactivity.AttachableObjectBase
DevExpress.Mvvm.UI.Interactivity.Behavior
DevExpress.Mvvm.UI.Interactivity.Behavior<DependencyObject>
ConfirmationBehavior
See Also