更改metro风格应用程序的背景颜色不起作用

我试图将我的应用程序在Visual Studio(XAML)中的背景颜色更改为白色(或ApplicationPageBackgroundTheme /或任何它所称的),但它不起作用。 当我调试时,它只显示黑色背景。

当我转到“设备”窗格并选择默认颜色主题为“浅色”时,它会使屏幕上的所有内容变为白色,即使是文本和背景。

当我更改xaml中的颜色背景时,在运行时它会变回黑色!

我搜索了,但没有找到任何信息。 这是一个已知的错误? 这从来没有发生过。 我正在使用Visual Studio 2012 Ultimate。

<Page
    x:Class="hjgjhgjg.MainPage"
    IsTabStop="false"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:hjgjhgjh"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" Background="White">

    <Grid Style="{StaticResource LayoutRootStyle}" Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="140" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Button x:Name="backButton" Click="GoBack" IsEnabled="False" Style="{StaticResource BackButtonStyle}" />
            <TextBlock x:Name="pageTitle" Grid.Column="1" Text="gfdgfdg" Style="{StaticResource PageHeaderTextStyle}" />
        </Grid>
    </Grid>
</Page>


很难确切地知道没有更多应用程序/样式的情况,但改变主题的简单方法是使用Application对象的RequestedTheme属性。

例如,在App.xaml中,将RequestedTheme="Light"为Application元素的属性:

<Application
    x:Class="App1.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    RequestedTheme="Light">

这会很有帮助,因为Light主题会影响所有页面并自动更改文本/按钮等。 黑色,而不是所有的东西都是白色的,如果你只让背景颜色变白的话。

本演练涵盖了这一点以及如何使用您自己的自定义属性覆盖默认样式:

  • 第1部分:创建一个“Hello,world”应用程序(使用C#/ VB和XAML的Windows应用商店应用程序)
  • 顺便说一下,设备窗格不会更改应用程序设置,但可以在设计视图中模拟应用程序如何显示各种设备功能/设置(屏幕,主题等)。因此,虽然它可能看起来像设计师中的一个主题,但它会在实际运行时恢复到系统/ XAML /代码的结果。


    如果我没有记错,您可以在第一个标签中查看清单。 那里应该有一个选项。


    页面的背景颜色将不可见,因为根网格是不透明的,默认情况下它的颜色设置为黑色,您可以将网格的颜色设置为透明颜色,或者将白色应用于网格,因为我看到你已经将颜色应用于网格,我建议你退出网格的样式属性,看看是否有帮助。

    链接地址: http://www.djcxy.com/p/61889.html

    上一篇: Changing the background color of a metro style app has no effect

    下一篇: Windows 8 App, change colour of BackButtonStyle