0

當我在Windows 8商店應用程序上創建新頁面時,它具有我想更改的默認顏色。如果我刪除頁面上的所有元素並更改背景顏色,則不起作用。我在下面的示例中將背景設置爲粉紅色。我怎樣才能使這種顏色生效? (我也刪除了所有的App.xaml中)更改窗口上的默認頁面顏色8商店應用程序

<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"> 

回答

0

更新1

根據Control.Background

這個屬性不同的基於每個控制可能適用其視覺 模板。此屬性僅影響其模板將Background屬性用作參數的控件。在其他控件上,此屬性 不起作用。有關視覺模板的更多信息,請參閱模板 屬性。

因此,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> 
+0

感謝您的回覆。這不會改變頁面背景。它改變了頁面上的網格背景,因爲它使用了LayoutRootStyle – Sun

+0

但是這是正確的方法。改變網格的背景不會給你預期的結果?你期望的結果是什麼? – Xyroid

+0

http://stackoverflow.com/questions/13920397/changing-the-background-color-of-a-metro-style-app-has-no-effect – Xyroid

0

最好是按照默認的模板,而不是設置頁面的背景,但根元素(通常是網格)的,我不是100%確定爲什麼網頁沒有按上一個背景沒有用(我懷疑控制模板)。

相關問題