By default, the alerts displayed by the RadDesktopAlertManager are only shown on the primary screen.
As of R2 2022, the
RadDesktopAlertManager allows you to show alerts on the current screen on which a particular parent window instance is displayed. This can be accomplished via the new
Attach method of the class.
Attach the RadDesktopAlertManager to the MainWindow
var manager = new RadDesktopAlertManager(); manager.Attach(App.Current.MainWindow);
MainWindowof the application to another screen (different than the primary), any new alerts shown via the
ShowAlertwill be displayed on this screen.
Actually, you can pass any
DependencyObject to the Attach method and it will automatically determine the window to which the manager has to be attached.
Attach the RadDesktopAlertManager to a DependencyObject
var manager = new RadDesktopAlertManager(); manager.Attach(this.LayoutRoot);
If you attach the same RadDesktopAlertManager instance on a new element, any alerts which are already displayed will remain open. Alerts which are displayed on a different screen will also stay open.
The screenPositionOffset parameter that is passed to the constructor of the RadDesktopAlertManager is not taken into account if the manager is attached to a particular screen.
If you want to bring back the default behavior and show the alerts only on the primary screen, you can call the new
Detach method of the class.
Detach the RadDesktopAlertManager
Doing so will close all previously opened alerts.
You do not need to call the Detach method if you want to attach the manager to a different element.