Dialogs are supported via the DialogHost control which was designed to work with MVVM/binding, code-behind, routed commands, and a pure code-based API. SAMPLE 1: Localised dialog encapsulating specific content, launched from a routed command, response handled in code-behind. Add a new fruit. Apple Banana Pear Fruit Bowl SAMPLE 2: Top level dialog, using OpenDialog, passing content via the Parameter. You can pass a view model, provided a corresponding DataTemplate can be found in the scope of the root DialogHost. PASS VIEW SAMPLE 3: Open and listen to the dialog entirely from code in a view model. SAMPLE 4: Dialog managed from view model using IsOpen and custom commands (ignoring the provided routed commands).