XAML-based Message Boxes

XAML-based Message Boxes (Compact 2013)


When your OS includes support for XAML for Windows Embedded for system message boxes in Windows Embedded Compact, MessageBox function calls result in a XAML-based modal dialog box being displayed instead of a Win32-style modal dialog box. You can use the default XAML UI design provided for system message boxes, or you can modify the default XAML and the images in XRMB_UI.dll to match the theme of your XAML for Windows Embedded shell. Note that the C++ application code that calls the MessageBox function does not have to be modified.

Windows Embedded Compact supports only one XAML-based message box open in a system process at a time. If a XAML-based message box for an application is currently open, subsequent calls to MessageBox will not result in displaying another message box and will return 0 (zero).

By default, the out-of-memory (OOM) UI does not use the MessageBox function. If you customized the OOM UI and it uses the MessageBox function, we recommend that you set the AutoOOM registry key to manage an out-of-memory (OOM) condition without displaying a message box in the UI, to avoid using additional memory.

If XRMB_UI.dll is included in the file system rather than in the run-time image, there is a potential security risk for an application on the device to overwrite XRMB_UI.dll, which could change the appearance of the XAML-based message box. We recommend that you include XRMB_UI.dll in the run-time image, instead of the file system. By default, XRMB_UI.dll is included in the run-time image.

To add this feature to your OS, see XAML for Windows Embedded Catalog Items and Sysgen Variables.

For reference information, see AutoOOM settings in GWES Registry Settings.

Source code for this feature is available at %_WINCEROOT%\PUBLIC\COMMON\OAK\XamlMsgBox.

© 2016 Microsoft