当我在 Windows 10 中使用 Mail univesal 应用程序时,当我添加一个帐户(设置-> 帐户-> 添加帐户)时,似乎会弹出一个模式窗口来选择一个帐户。我尝试使用 MessageDialog,但我无法将任何自定义内容放入其中。
有人知道如何实现它或者有一些api可以做到吗?
注意:当这个窗口打开时,你甚至不能最小化/最大化/关闭主窗口。所以,它绝对是一个模态窗口。
当我在 Windows 10 中使用 Mail univesal 应用程序时,当我添加一个帐户(设置-> 帐户-> 添加帐户)时,似乎会弹出一个模式窗口来选择一个帐户。我尝试使用 MessageDialog,但我无法将任何自定义内容放入其中。
有人知道如何实现它或者有一些api可以做到吗?
注意:当这个窗口打开时,你甚至不能最小化/最大化/关闭主窗口。所以,它绝对是一个模态窗口。
我自己还没有使用它,但我相信你正在寻找 ContentDialog api。
var dialog = new ContentDialog() {
Title = "Lorem Ipsum",
MaxWidth = this.ActualWidth // Required for Mobile!
Content = YourXamlContent
};
dialog.PrimaryButtonText = "OK";
dialog.IsPrimaryButtonEnabled = false;
dialog.PrimaryButtonClick += delegate {
};
var result = await dialog.ShowAsync();
对话框的 msdn 指南:链接
msdn ContentDialog API: 链接
您可以像这样轻松地创建一个新视图,例如在您的App.xaml.cs
:
public static async Task<bool> TryShowNewWindow<TView>(bool switchToView)
{
var newView = CoreApplication.CreateNewView();
int newViewId = 0;
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
var frame = new Frame();
frame.Navigate(typeof(TView), null);
Window.Current.Content = frame;
newViewId = ApplicationView.GetForCurrentView().Id;
});
var viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId);
if (switchToView && viewShown)
{
// Switch to new view
await ApplicationViewSwitcher.SwitchAsync(newViewId);
}
return viewShown;
}
有关更多信息,请查看这两个指南:
如果使用 Template10 项目模板,可以使用 ModalDialog 控件:https ://github.com/Windows-XAML/Template10/wiki/Docs-%7C-Controls#modaldialog