Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Universal Windows App Show Page As Dialog

I am trying to display a page as a dialog in Universal Window App (Windows 10).

In WFP, there is this ShowDialog to call on Window:

var msgBox = new MessageWindow();
msgBox.Owner = App.Current.MainWindow;
msgBox.WindowStartupLocation = WindowStartupLocation.CenterOwner;
msgBox.SetMessage(message, messageCategory);
msgBox.ShowDialog();

How do I do something like that in Universal Window App (Windows 10)?

Here is a Sample Picture of how it looks

like image 561
user3863376 Avatar asked Dec 15 '22 10:12

user3863376


2 Answers

There is no exact same MessageWindow in UWP. It depends on what you want to do with the dialog.

In UWP, there are many options we can choose to display a popup/dialog to show information or require user interaction.

Dialog:

  • MessageDialog
  • ContentDialog

Lightweight Control:

  • Flyout
  • MenuFlyout
  • ToolTip

If above cannot meet your requirement, try Popup which gives you more flexibility.

like image 127
Alan Yao - MSFT Avatar answered Dec 28 '22 10:12

Alan Yao - MSFT


To show a page as a dialog box its probably something like this:

var D = new ContentDialog {
    Title = "MyPage",
    Content = new MyUserControl()
};

var T = D.ShowAsync();

Most examples of ContentDialog show Content set to a string, however Content can be set to any UIElement including a UserControl.

In above example, place your page inside of a UserControl:

<UserControl …>
    <StackPanel>
         …
    </StackPanel>
</UserControl>

You get the idea...

like image 37
Bimo Avatar answered Dec 28 '22 09:12

Bimo