从“设置”弹出窗口调用“消息”对话框会导致“消息对话框”闪烁

时间:2014-05-29 12:55:21

标签: windows-8 windows-store-apps

我试图通过为我的Windows 8 Metro应用程序设置弹出窗口来调用messagedialog,但它导致消息对话框闪烁。以下是代码。

    private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {      
        SettingsPane.GetForCurrentView().CommandsRequested+=settings_CommandsRequested;
    }

    private void Settings_CommandsRequested(SettingsPane sender, SetttingsPaneCommandsRequestedEventArgs args)
    {
       SettingsCommand cmd = new SettingsCommand("test","test1232",new UICommandInvokedHandler(CreateDialog));
       args.Request.ApplicationCommands.Add(cmd);
    }

    private void CreateDialog(IUICommand command)
    {
        if (ReferenceEquals(command.Id, "cmd"))
        {
           MessageDialog md = new MessageDialog("Hi");
           md.ShowAsync();
        }
    }

1 个答案:

答案 0 :(得分:2)

我已联系官方微软开发支持,他们的回复是: “在SettingsFlyout中不建议使用MessageDialog”。

因此,如果你想实现一些simillar来支持用户从SettingsPane做出的决定,你应该: 1)启用弹出窗口中的切换功能。 2)设置SettingsFlyout以便用户做出决定(例如在Logout情况下,在settingsFlyout中添加Yes / no按钮) - 这就是我选择的选项。