Windows 8 为现代UI应用程序设置颜色
我想为我的现代UI应用程序设置自定义颜色。此颜色将用于GridView\ListView和其他位置的选择边框Windows 8 为现代UI应用程序设置颜色,windows-8,themes,winrt-xaml,modern-ui,Windows 8,Themes,Winrt Xaml,Modern Ui,我想为我的现代UI应用程序设置自定义颜色。此颜色将用于GridView\ListView和其他位置的选择边框 另外,我知道,我可以更改GridViewItem的样式,但我想在所有地方看到这种颜色,在应用程序中可以看到的地方。您需要在使用选择颜色的地方重新设置所有控件的样式。您需要在使用选择颜色的地方重新设置所有控件的样式。冗长的方法是逐个覆盖应用程序主题资源,以获得您想要的颜色。我在上一次讨论过这个解决方案 这相当耗时,而且有很多变化需要处理。最好的方法是使用一个名为的开源工具,这是一个小小的命
另外,我知道,我可以更改GridViewItem的样式,但我想在所有地方看到这种颜色,在应用程序中可以看到的地方。您需要在使用选择颜色的地方重新设置所有控件的样式。您需要在使用选择颜色的地方重新设置所有控件的样式。冗长的方法是逐个覆盖应用程序主题资源,以获得您想要的颜色。我在上一次讨论过这个解决方案
这相当耗时,而且有很多变化需要处理。最好的方法是使用一个名为的开源工具,这是一个小小的命令行exe,给定颜色将为您生成完整的应用程序资源。冗长的方法是逐个覆盖应用程序主题资源,以获得您想要的颜色。我在上一次讨论过这个解决方案
这相当耗时,而且有很多变化需要处理。最好的方法是使用一个名为的开源工具,这是一个小小的命令行exe,给定颜色将为您生成完整的应用程序资源范围。我决定覆盖笔刷列表。可能此代码将帮助某人:
private List<string> ResourcesColors = new List<string>
{
"PageAccentBrush",
"ListViewItemSelectedBackgroundThemeBrush",
"ListViewItemSelectedPointerOverBackgroundThemeBrush",
"ListViewItemSelectedPointerOverBorderThemeBrush",
"ComboBoxItemSelectedBackgroundThemeBrush",
"ComboBoxItemSelectedPointerOverBackgroundThemeBrush",
"ComboBoxSelectedBackgroundThemeBrush",
"ComboBoxSelectedPointerOverBackgroundThemeBrush",
"ListBoxItemSelectedBackgroundThemeBrush",
"ListBoxItemSelectedPointerOverBackgroundThemeBrush",
"ProgressBarForegroundThemeBrush",
"ProgressBarIndeterminateForegroundThemeBrush",
"SliderTrackDecreaseBackgroundThemeBrush",
"SliderTrackDecreasePointerOverBackgroundThemeBrush",
"SliderTrackDecreasePressedBackgroundThemeBrush",
"ToggleSwitchCurtainBackgroundThemeBrush",
"ToggleSwitchCurtainPointerOverBackgroundThemeBrush",
"ToggleSwitchCurtainPressedBackgroundThemeBrush"
};
private void ApplyColorsToResources()
{
if (this.Resources.ContainsKey("PageAccentBrush"))
{
SolidColorBrush pageAccentBrush = this.Resources["PageAccentBrush"] as SolidColorBrush;
if (pageAccentBrush != null)
{
SolidColorBrush scb = null;
foreach (var item in this.ResourcesColors)
{
scb = (SolidColorBrush)Application.Current.Resources[item];
scb.Color = pageAccentBrush.Color;
}
}
}
}
private List resources颜色=新列表
{
“PageAccentBrush”,
“ListViewItemSelectedBackgroundThemeBrush”,
“ListViewItemSelectedPointerOverBackgroundThemeBrush”,
“ListViewItemSelectedPointerOverOrderTheMebrush”,
“ComboBoxItemSelectedBackgroundThemeBrush”,
“ComboBoxItemSelectedPointerOverBackgroundThemeBrush”,
“ComboBoxSelectedBackgroundThemeBrush”,
“ComboBoxSelectedPointerOverBackgroundThemeBrush”,
“ListBoxItemSelectedBackgroundThemeBrush”,
“ListBoxItemSelectedPointerOverBackgroundThemeBrush”,
“ProgressBarForegroundThemeBrush”,
“ProgressBarInDeterminateForRegroundtheMebrush”,
“SliderTrack DecreatesBackgroundTheMebrush”,
“SliderTrackDecreasePointerOverBackgroundThemeBrush”,
“SliderTrack DecreasedBackgroundTheMebrush”,
“切换CurtainBackgroundTheMebrush”,
“切换CurtainPointerOverBackgroundTheMebrush”,
“切换开关限制按下背景按钮Mebrush”
};
私有void ApplyColorsToResources()
{
if(this.Resources.ContainsKey(“PageAccentBrush”))
{
SolidColorBrush pageAccentBrush=this.Resources[“pageAccentBrush”]作为SolidColorBrush;
if(pageAccentBrush!=null)
{
SolidColorBrush scb=null;
foreach(此.ResourcesColors中的变量项)
{
scb=(SolidColorBrush)Application.Current.Resources[item];
scb.Color=pageAccentBrush.Color;
}
}
}
}
我决定覆盖笔刷列表。可能此代码将帮助某人:
private List<string> ResourcesColors = new List<string>
{
"PageAccentBrush",
"ListViewItemSelectedBackgroundThemeBrush",
"ListViewItemSelectedPointerOverBackgroundThemeBrush",
"ListViewItemSelectedPointerOverBorderThemeBrush",
"ComboBoxItemSelectedBackgroundThemeBrush",
"ComboBoxItemSelectedPointerOverBackgroundThemeBrush",
"ComboBoxSelectedBackgroundThemeBrush",
"ComboBoxSelectedPointerOverBackgroundThemeBrush",
"ListBoxItemSelectedBackgroundThemeBrush",
"ListBoxItemSelectedPointerOverBackgroundThemeBrush",
"ProgressBarForegroundThemeBrush",
"ProgressBarIndeterminateForegroundThemeBrush",
"SliderTrackDecreaseBackgroundThemeBrush",
"SliderTrackDecreasePointerOverBackgroundThemeBrush",
"SliderTrackDecreasePressedBackgroundThemeBrush",
"ToggleSwitchCurtainBackgroundThemeBrush",
"ToggleSwitchCurtainPointerOverBackgroundThemeBrush",
"ToggleSwitchCurtainPressedBackgroundThemeBrush"
};
private void ApplyColorsToResources()
{
if (this.Resources.ContainsKey("PageAccentBrush"))
{
SolidColorBrush pageAccentBrush = this.Resources["PageAccentBrush"] as SolidColorBrush;
if (pageAccentBrush != null)
{
SolidColorBrush scb = null;
foreach (var item in this.ResourcesColors)
{
scb = (SolidColorBrush)Application.Current.Resources[item];
scb.Color = pageAccentBrush.Color;
}
}
}
}
private List resources颜色=新列表
{
“PageAccentBrush”,
“ListViewItemSelectedBackgroundThemeBrush”,
“ListViewItemSelectedPointerOverBackgroundThemeBrush”,
“ListViewItemSelectedPointerOverOrderTheMebrush”,
“ComboBoxItemSelectedBackgroundThemeBrush”,
“ComboBoxItemSelectedPointerOverBackgroundThemeBrush”,
“ComboBoxSelectedBackgroundThemeBrush”,
“ComboBoxSelectedPointerOverBackgroundThemeBrush”,
“ListBoxItemSelectedBackgroundThemeBrush”,
“ListBoxItemSelectedPointerOverBackgroundThemeBrush”,
“ProgressBarForegroundThemeBrush”,
“ProgressBarInDeterminateForRegroundtheMebrush”,
“SliderTrack DecreatesBackgroundTheMebrush”,
“SliderTrackDecreasePointerOverBackgroundThemeBrush”,
“SliderTrack DecreasedBackgroundTheMebrush”,
“切换CurtainBackgroundTheMebrush”,
“切换CurtainPointerOverBackgroundTheMebrush”,
“切换开关限制按下背景按钮Mebrush”
};
私有void ApplyColorsToResources()
{
if(this.Resources.ContainsKey(“PageAccentBrush”))
{
SolidColorBrush pageAccentBrush=this.Resources[“pageAccentBrush”]作为SolidColorBrush;
if(pageAccentBrush!=null)
{
SolidColorBrush scb=null;
foreach(此.ResourcesColors中的变量项)
{
scb=(SolidColorBrush)Application.Current.Resources[item];
scb.Color=pageAccentBrush.Color;
}
}
}
}