繁体   English   中英

更改metro风格应用程序的背景颜色无效

[英]Changing the background color of a metro style app has no effect

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

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

当我在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主题将影响所有页面并自动更改文本/按钮/等。 如果您只将背景颜色设为白色,则为黑色而不是一切为白色。

本演练涵盖了此内容以及如何使用您自己的自定义样式覆盖默认样式:

顺便说一句,设备窗格不会更改应用程序设置,但会在设计视图中模拟应用程序如何与各种设备功能/设置(屏幕,主题等)一起显示。因此,虽然它可能看起来像设计师中的一个主题,但它正在进行在实际运行时恢复到系统/ XAML /代码导致的任何内容。

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

我发现了一种不同的方式。

如果单击XAML代码中的网格项,则选择它。 然后查看属性窗口,展开Brush属性,您将看到“ Background ”项。 单击背景属性右侧的小黑色方块,这将弹出一个弹出菜单。 单击“ Convert to Local value ”。 这将使您能够使用下面的可用项目更改背景。 我让我的是从绿色到黄色的渐变填充! 阴森! :-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM