Изменить цвет фона для всех страниц WP7 - PullRequest
3 голосов
/ 10 апреля 2011

Есть ли способ изменить цвет фона для всех страниц? Или мне просто нужно изменить цвет LayoutRoot на каждой странице?

Ответы [ 4 ]

2 голосов
/ 10 апреля 2011

Что вы можете сделать, это создать стиль, который применяет цвет фона, вам все равно нужно будет применить стиль к каждой странице, но потом, если вам нужно будет внести дополнительные изменения, вам просто нужно изменить стиль.

Пример стиля, примененного к странице, можно увидеть по адресу Использование стилей и ресурсов для упрощения xaml , хотя в нем нет фона, ему должно быть достаточно легко следовать.

0 голосов
/ 20 мая 2013

Добавление следующих к ресурсам приложения устанавливает цвет на всех страницах.

<Style TargetType="phone:PhoneApplicationFrame">
    <Setter Property="Background" Value="{StaticResource SomeBrush}"/>
</Style>
0 голосов
/ 16 февраля 2012

Я нашел решение.

Проблема заключается в том, как Mango определяет цвет фона для страниц.

Единственный способ обойти это - использовать стили приложения и применить его к страницам.

Вот хорошее руководство: Windows Phone Mango Пользовательское приложение Тема Шаг за шагом

Следуя этому предложению, я даже смог динамически менять цвета.

0 голосов
/ 10 апреля 2011

Вы можете создать класс базовой страницы и установить цвет фона в нем, а затем наследовать от базовой страницы на всех других ваших страницах.

Редактировать

Код базовой страницы:

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...