Back to Devexpress

Text Notifications

expressappframework-118549-app-shell-and-base-infrastructure-dialogs-and-notifications-text-notifications.md

latest7.6 KB
Original Source

Text Notifications

  • Dec 18, 2025
  • 4 minutes to read

In XAF applications, you can display a message box with a detailed notification text using the ShowViewStrategyBase.ShowMessage method.

DevExpress Components and Widgets Used to Show Notifications

XAF uses the DevExpress WinForms and ASP.NET Core Blazor components and widgets to show the notifications for WinForms and ASP.NET Core Blazor applications.

ASP.NET Core Blazor Notifications

Blazor applications support the following notification API:

Windows Forms Notifications

You can choose one of the three available notification types listed in the WinMessageType enumeration for a WinForms application:

AlertThe notification is displayed using the Alert Window.ToastThe notification window is displayed using the Toast Notification Manager. Used only in Windows 8 or later.FlyoutThe notification window is displayed using the Flyout Dialog.

Using Text Notifications

To display a “Success” message when a user clicks the platform-independent Mark Completed Action, use the ShowMessage(MessageOptions) method. The MessageOptions class contains both the platform-agnostic and platform-specific settings of a text notification.

csharp
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using YourSolutionName.Module.BusinessObjects;

namespace YourSolutionName.Module.Controllers {
    public class DemoTaskController : ViewController {
        public DemoTaskController() {
            TargetObjectType = typeof(DemoTask);
            TargetViewType = ViewType.Any;
            SimpleAction markCompletedAction = new SimpleAction(
                this, "MarkCompleted",
                DevExpress.Persistent.Base.PredefinedCategory.RecordEdit) {
                TargetObjectsCriteria =
                    (CriteriaOperator.Parse("Status != ?", MySolution.Module.BusinessObjects.TaskStatus.Completed)).ToString(),
                ConfirmationMessage =
                            "Are you sure you want to mark the selected task(s) as 'Completed'?",
                ImageName = "State_Task_Completed"
            };
            markCompletedAction.SelectionDependencyType = SelectionDependencyType.RequireMultipleObjects;
            markCompletedAction.Execute += (s, e) => {
                foreach (DemoTask task in e.SelectedObjects) {
                    task.DueDate = DateTime.Now;
                    task.Status = MySolution.Module.BusinessObjects.TaskStatus.Completed;
                    View.ObjectSpace.SetModified(task);
                }
                View.ObjectSpace.CommitChanges();
                View.ObjectSpace.Refresh();
                MessageOptions options = new MessageOptions();
                options.Duration = 2000;
                options.Message = string.Format("{0} task(s) have been successfully updated!", e.SelectedObjects.Count);
                options.Type = InformationType.Success;
                options.Web.Position = InformationPosition.Right;
                options.Win.Caption = "Success";
                options.Win.Type = WinMessageType.Toast;
                options.OkDelegate = () => {
                    IObjectSpace os = Application.CreateObjectSpace(typeof(DemoTask));
                    DetailView newTaskDetailView = Application.CreateDetailView(os, os.CreateObject<DemoTask>());
                    Application.ShowViewStrategy.ShowViewInPopupWindow(newTaskDetailView);
                };
                Application.ShowViewStrategy.ShowMessage(options);
            };
        }
    }
}

ASP.NET Core Blazor Windows Forms

Important

Notifications Customization

  • Use the WinMessageOptions.ImageOptions property to change the default image of the WinForms notifications the Toast or Alert control displays:

  • Use the WinShowViewStrategyBase class’s CustomGetFlyoutBackColor event to change the Flyout Dialog‘s color:

  • Use the WinShowViewStrategyBase class’s CustomizeAlertControl event to customize the Alert control:

  • Use the WinShowViewStrategyBase class’s CustomizeToastNotificationsManager to access the Toast Notification Manager instance:

Notification Button Caption Localization

You can localize the notification button captions using the Model Editor. Navigate to the Localization | DialogButtons node, choose the OK or Cancel node and set a particular string to the Value property. Note that this setting also applies to other dialog buttons.