1

我正在尝试将我在 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>

在此处输入图像描述

4

4 回答 4

2

如果我没记错的话,您可以在第一个选项卡中签入清单。那里应该有你的选择。

于 2012-12-17T19:13:25.500 回答
2

如果没有更多的应用程序/样式,很难确切知道发生了什么,但更改主题的一种简单方法是使用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/代码产生的任何结果。

于 2012-12-18T01:10:48.327 回答
0

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

于 2012-12-17T20:27:11.867 回答
0

我找到了另一种方式。

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

于 2013-01-02T09:55:52.373 回答