如何在metro应用程序中设置页面背景

Fix*_*xus 4 xaml microsoft-metro windows-8 winrt-xaml

我有奇怪的问题.我无法在metro应用中为我的页面设置背景.下面是我的xaml结构的简单视图

<Page Background="White">
    <ListView Background="Red">

    </ListView>
</Page>
Run Code Online (Sandbox Code Playgroud)

问题是页面的背景是黑色的.所以我在黑色背景上设置了红色矩形(ListView区域).我希望我的页面是白色的.我看到几个例子,似乎我做得很好.我也试过刷子,但结果相同.

Bar*_*art 6

如果您希望应用程序在所有页面上都有白色背景,那么实现此目的的最简单方法是在App.xaml文件中设置RequestedTheme on Light.这不仅可以为您提供白色背景,而且还会自动更改所有其他颜色,例如前景色(对于文本等)默认为黑色.

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             ...
             RequestedTheme="Light">
Run Code Online (Sandbox Code Playgroud)

对于单个页面,我总是在页面中使用网格作为rootcontainer并且工作正常:

<common:LayoutAwarePage
    x:Name="pageRoot"
    ... 
    >

    <Grid Background="White">
Run Code Online (Sandbox Code Playgroud)

请注意,如果要将图像用作背景而不是颜色,则必须使用附加属性:

<Grid>
    <Grid.Background>
        <ImageBrush x:Name="backgroundGrid" ImageSource="/Assets/Paper.jpg" />
    </Grid.Background>
Run Code Online (Sandbox Code Playgroud)

  • 应用程序标记位于App.xaml中 (3认同)