为啥在 VS 2015 中创建的默认 windows 8 通用应用程序具有深色背景

Posted

技术标签:

【中文标题】为啥在 VS 2015 中创建的默认 windows 8 通用应用程序具有深色背景【英文标题】:Why the default windows 8 universal app created in VS 2015 has a dark background为什么在 VS 2015 中创建的默认 windows 8 通用应用程序具有深色背景 【发布时间】:2016-10-22 23:56:18 【问题描述】:

我正在使用 Visual Studio 2015 中的 C# 创建一个 Windows 8 通用应用程序。我按照以下路径创建了一个空项目:Visual C#->Windows->Windows 8->Universal->Blank App(Universal Windows 8.1) .

我惊讶地发现空应用程序以黑色背景和白色前景开头。微软这样做有什么特别的原因吗?

另外,有没有什么优雅的方法可以改变背景和前景色?我可以通过更改 MainPage.xaml 文件中的以下配置来做到这一点:

<Grid Background="ThemeResource ApplicationPageBackgroundThemeBrush"></Grid>

收件人:

<Grid Background="White"></Grid>

但我无法更改前景,如果我向窗口添加按钮,则在白色背景上看不到按钮文本,因为按钮前景是白色的。(如据我所知,所有子组件都将继承背景颜色或前景色,具体取决于它们是什么类型的组件。)

感谢任何澄清。

【问题讨论】:

【参考方案1】:

请参阅 MSDN 上Application.RequestedTheme property 上的备注:

有两个内置主题:“Light”和“Dark”。默认情况下,您的应用 使用“Dark”主题运行(在 themeresources.xaml 文件中,密钥 “黑暗”资源的名称是“默认”)。您可以设置应用程序的 RequestedTheme 属性来指定使用哪个主题。

所以设置

<Application ... RequestedTheme="Light">

在您的 App.xaml 中使您的应用程序使用 Light 主题。

【讨论】:

以上是关于为啥在 VS 2015 中创建的默认 windows 8 通用应用程序具有深色背景的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MAC OS MATLAB 读取在 windows MATLAB 中创建的 .mat 文件

为啥我不能使用 vs 2015、vs2017、vs2019 在我的 Windows 上创建 VC++ 空项目

在 PHP 中,为啥可以在同一类类型的方法中创建的新实例上调用私有方法? [复制]

我可以在 .NET 1.1 项目中使用在 VS2010 .NET 4.0 中创建的类库吗

如何限制在 VS 设计器中创建的编辑框中的数字

为啥你不能命名一个在函数中创建的对象,与它在 Python 中的类名完全相同?