当我在Windows 10中使用Mail univesal应用程序时,当我添加帐户(设置 - > accounts->添加帐户)时,似乎弹出一个选择帐户的模式窗口。我尝试使用MessageDialog,但我无法将任何自定义内容添加到其中。
有人知道如何实现它,或者有一些api可以做到吗?
注意:当此窗口打开时,您甚至无法最小化/最大化/关闭主窗口。所以,它绝对是一个模态窗口。
答案 0 :(得分:16)
我还没有用过它,但我相信你正在寻找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 guidlines for dialogs:link
msdn ContentDialog API:link
答案 1 :(得分:5)
您可以轻松地创建这样的新视图,例如在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;
}
有关详细信息,请查看这两个指南:
答案 2 :(得分:0)
如果您使用Template10项目模板,则可以使用ModalDialog控件:https://github.com/Windows-XAML/Template10/wiki/Docs-%7C-Controls#modaldialog