11

当我在 Windows 10 中使用 Mail univesal 应用程序时,当我添加一个帐户(设置-> 帐户-> 添加帐户)时,似乎会弹出一个模式窗口来选择一个帐户。我尝试使用 MessageDialog,但我无法将任何自定义内容放入其中。

编辑:这是截图 截屏

有人知道如何实现它或者有一些api可以做到吗?

注意:当这个窗口打开时,你甚至不能最小化/最大化/关闭主窗口。所以,它绝对是一个模态窗口。

4

3 回答 3

20

我自己还没有使用它,但我相信你正在寻找 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: 链接

于 2015-08-04T08:46:03.940 回答
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;
}

有关更多信息,请查看这两个指南:

于 2015-08-04T08:00:32.680 回答
0

如果使用 Template10 项目模板,可以使用 ModalDialog 控件:https ://github.com/Windows-XAML/Template10/wiki/Docs-%7C-Controls#modaldialog

于 2016-04-06T09:16:13.950 回答