0

Windows 8 ストア アプリケーションで新しいページを作成すると、変更したいデフォルトの色が表示されます。ページ上のすべての要素を削除して背景色を変更しても効果はありません。以下の例では、背景をピンクに設定しています。この色を有効にするにはどうすればよいですか? (App.xaml からもすべて削除しました)

<common:LayoutAwarePage
x:Name="pageRoot"
x:Class="DemoWindows8StoreApp.BasicPage3"
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:DemoWindows8StoreApp"
xmlns:common="using:DemoWindows8StoreApp.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Background="Pink"
mc:Ignorable="d">

4

2 に答える 2

0

更新 1

によるとControl.Background

各コントロールは、ビジュアル テンプレートに基づいて、このプロパティを異なる方法で適用する場合があります。このプロパティは、テンプレートが Background プロパティをパラメーターとして使用するコントロールにのみ影響します。他のコントロールでは、このプロパティは効果がありません。ビジュアル テンプレートの詳細については、Template プロパティを参照してください。

そのため、テンプレートがプロパティをパラメーターとしてPage使用していない可能性があります。Background


色を変更するには、プロジェクトから何も削除しません。Common\StandardStyles.xaml に移動します。「LayoutRootStyle」を検索します。のスタイルが見つかりますPanel。そこで着替えBackgroundます。これは、プロジェクト内のすべてのページに影響することに注意してください。ページごとに異なる色が必要な場合は、ページごとに個別のスタイルを作成できます。

<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="Pink"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>
于 2013-09-23T08:17:01.897 に答える
0

ページの背景を設定するのではなく、デフォルトのテンプレートに従うのが最善ですが、ルート要素 (通常はグリッド) については、そのページの背景が機能しない理由が 100% わかりません (コントロール テンプレート)。

于 2013-09-23T08:18:25.127 に答える