如何使用C#查看**winrt**应用程序中的特定设置页面?

pas*_*lus 0 microsoft-metro windows-8 windows-runtime

如何使用C#从外部按钮单击查看winrt应用程序中的特定设置页面?

在javascript中我发现像这样的 WinJS.UI.SettingsFlyout.showSettings("About","/ Settings/Apache.html")

但我无法在c#中找到这个,我正在使用callisto来设置弹出窗口

Sta*_*ies 7

我也在使用Callisto和C#,这就是我解决问题的方法.

    void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
    {
        var settings = new SettingsCommand("settings", "Settings", new UICommandInvokedHandler(showSettings));
        args.Request.ApplicationCommands.Add(settings);
        var credits = new SettingsCommand("credits", "Credits", new UICommandInvokedHandler(showCredits));
        args.Request.ApplicationCommands.Add(credits);
    }

    public void showSettings(IUICommand command)
    {
        var settings = new SettingsFlyout();
        settings.Content = new SettingsUserControl();
        settings.HeaderBrush = new SolidColorBrush(_background);
        settings.Background = new SolidColorBrush(_background);
        settings.HeaderText = "Settings";
        settings.IsOpen = true;
    }

    public void showCredits(IUICommand command)
    {
        var settings = new SettingsFlyout();
        settings.Content = new CreditsUserControl();
        settings.HeaderBrush = new SolidColorBrush(_background);
        settings.Background = new SolidColorBrush(_background);
        settings.HeaderText = "Credits";
        settings.IsOpen = true;
    }
Run Code Online (Sandbox Code Playgroud)

然后从其他页面我可以打电话

((App)Application.Current).showCredits(null);  
Run Code Online (Sandbox Code Playgroud)

要么

((App)Application.Current).showSettings(null);
Run Code Online (Sandbox Code Playgroud)

要打开我想看到的设置窗格:o)