通用 Windows 应用将页面显示为对话框

Universal Windows App Show Page As Dialog

我正在尝试在通用 Window 应用程序 (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它的外观

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

在UWP中,有很多选项我们可以选择显示一个popup/dialog来显示信息或者需要用户交互。

对话:

轻量控制:

如果以上无法满足您的要求,请尝试 Popup,这会给您带来更大的灵活性。

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

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

var T = D.ShowAsync();

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

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

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

你明白了...