通用Windows应用程序显示页面作为对话框

时间:2015-11-03 02:33:18

标签: win-universal-app uwp wfp

我正在尝试在通用窗口应用程序(Windows 10)中将页面显示为对话框。

在WFP中,有一个ShowDialog可以调用Window:

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

如何在Universal Window App(Windows 10)中执行类似的操作?

以下是Sample Picture的外观

2 个答案:

答案 0 :(得分:10)

UWP中没有完全相同的MessageWindow。这取决于你想用对话框做什么。

在UWP中,我们可以选择多种选项来显示弹出/对话框以显示信息或需要用户交互。

对话框:

轻量级控制:

如果上述内容无法满足您的要求,请尝试Popup,这样可以提供更大的灵活性。

答案 1 :(得分:1)

要将页面显示为对话框,可能是这样的:

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

var T = D.ShowAsync();

ContentDialog的大多数示例都将Content设置为字符串,但Content可以设置为包含UserControl的任何UIElement。

在上面的示例中,将您的页面放在UserControl中:

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

你明白了......