更改所有页面的背景颜色 WP7

发布于 2024-10-31 06:03:47 字数 53 浏览 1 评论 0原文

有没有办法改变所有页面的背景颜色?或者我只需要更改每个页面上的 LayoutRoot 颜色?

Is there a way to change the background color for all pages? Or do I just have to change the LayoutRoot color on every page?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

攒一口袋星星 2024-11-07 06:03:47

您可以做的是创建一个应用背景颜色的样式,您仍然需要将该样式应用到每个页面,但之后如果您需要进行更多更改,则只需更改样式即可。

应用于页面的示例样式可以在 中查看使用样式和资源来简化您的 xaml 虽然这不包括背景,但它应该很容易遵循。

What you can do is create a Style that applies the Background Colour, you would still need to apply the style to each page, but afterwards if you need to make more changes you'll just need to alter the Style.

An example style applied to a page can be seen at Using Styles and Resources to simplify your xaml while this doesn't include background it should be easy enough to follow.

风和你 2024-11-07 06:03:47

您可以创建一个基页面类并在其中设置背景颜色,然后在所有其他页面中从基页面继承。

编辑

基本页面代码:

public class BasePage : PhoneApplicationPage
{
    public BasePage()
    {
        Background = new SolidColorBrush(Colors.Red);
    }
}

主页 xaml。请注意,网格绑定到页面的背景颜色。

<WindowsPhoneApplication2:BasePage
    x:Class="WindowsPhoneApplication2.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:WindowsPhoneApplication2="clr-namespace:WindowsPhoneApplication2"
    mc:Ignorable="d"
    d:DesignWidth="480"
    d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape"
    Orientation="Portrait"
    shell:SystemTray.IsVisible="True"
    x:Name="root">

    <Grid
        x:Name="LayoutRoot"
        Background="{Binding Path=Background, ElementName=root}">

    </Grid>

</WindowsPhoneApplication2:BasePage>

You could create a base page class and set the background color in that then inherit from the base page in all your other pages.

Edit

Base page code:

public class BasePage : PhoneApplicationPage
{
    public BasePage()
    {
        Background = new SolidColorBrush(Colors.Red);
    }
}

Main page xaml. Note the grid binds to the background color of the page.

<WindowsPhoneApplication2:BasePage
    x:Class="WindowsPhoneApplication2.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:WindowsPhoneApplication2="clr-namespace:WindowsPhoneApplication2"
    mc:Ignorable="d"
    d:DesignWidth="480"
    d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="PortraitOrLandscape"
    Orientation="Portrait"
    shell:SystemTray.IsVisible="True"
    x:Name="root">

    <Grid
        x:Name="LayoutRoot"
        Background="{Binding Path=Background, ElementName=root}">

    </Grid>

</WindowsPhoneApplication2:BasePage>
不奢求什么 2024-11-07 06:03:47

我找到了解决办法。

问题在于 Mango 如何定义页面的背景颜色。

解决这个问题的唯一方法是使用应用程序范围的样式并将其应用到页面。

这是一个很好的操作方法: Windows Phone Mango自定义应用程序主题一步一步

按照这些建议,我什至能够动态更改颜色。

I have found a solution.

The issue is relying in how Mango defines the background color for pages.

The only way around it is to use application wide styles and apply it to the pages.

Here is a good howto: Windows Phone Mango Custom application Theme Step by Step

Following those suggestion I was even able to change the colors dynamically.

依 靠 2024-11-07 06:03:47

将以下内容添加到应用程序资源中设置所有页面上的颜色。

<Style TargetType="phone:PhoneApplicationFrame">
    <Setter Property="Background" Value="{StaticResource SomeBrush}"/>
</Style>

Adding following to the application resources sets color on all pages.

<Style TargetType="phone:PhoneApplicationFrame">
    <Setter Property="Background" Value="{StaticResource SomeBrush}"/>
</Style>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文