如何使自定义SettingsPane看起来像Settings Charm Windows 8中的权限

时间:2012-11-07 18:56:01

标签: windows windows-8 microsoft-metro

我在win8应用中为“关于”创建了自定义设置超级按钮选项。我希望样式看起来像Permissions窗格。是硬编码这些值的最佳方法,还是有办法将其设置为默认值。

当前看: enter image description here

期望的样子: enter image description here

这是我获取示例代码的地方: http://code.msdn.microsoft.com/windowsapps/App-settings-sample-1f762f49

2 个答案:

答案 0 :(得分:0)

在App.xaml.cs中,创建颜色变量

private SolidColorBrush _background = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0x3E, 0x00));
 // FF003E00
private SolidColorBrush _Hbackground = new SolidColorBrush(Color.FromArgb(0xEE, 0x00, 0x8A, 0X00));

现在,当您为权限创建设置菜单时,

private void OnCommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
    {
        var Permissions= new SettingsCommand("Permissions", "Permissions", (handler) =>
            {
                var settings = new SettingsFlyout();
                settings.Content = new AboutUserControl();
                //settings.HeaderBrush = new SolidColorBrush(_background);
                //settings.Background = new SolidColorBrush(_background);
                settings.HeaderBrush = _Hbackground;
                settings.Background = _background;
                settings.HeaderText = "Permissions";
                settings.IsOpen = true;
            });

        args.Request.ApplicationCommands.Add(Permissions);

        UICommandInvokedHandler handler1 = new UICommandInvokedHandler(onSettingsCommand);

        //  throw new NotImplementedException();
    }

因此,您可以看到您可以设置标题背景颜色以及正文背景颜色。使用此代码,您可以为设置菜单设置所选颜色

答案 1 :(得分:-2)

如果您正在拍摄背景颜色,则可以在StandardStyles.xaml或App.xaml中定义全局背景颜色,以便在任何地方使用它。您无权访问系统主题颜色信息,因此您必须对其进行硬编码。