2011-02-07 69 views
6

我正在开发window phone 7应用程序。我不熟悉window phone 7应用程序。我想更改window phone 7应用程序中整个xaml页面的背景颜色。我已经在xaml页面的构造函数中尝试了以下代码如何更改wp7应用程序中xaml页面的背景颜色?

this.Background = new SolidColorBrush(Colors.White); 

但它不起作用。

我还添加的属性在电话:的PhoneApplicationPage标记,如下

<phone:PhoneApplicationPage 
Background="Red" 

但它也不能正常工作。您能否给我提供任何代码或链接或解决上述问题的解决方案?如果我做错了什么,请指导我。

回答

8

您可以在页面上设置最外层控件的Background属性。对于在WP7中创建的默认页面,该页面可能是名为Layout的网格。

您需要更改LayoutRoot的背景下,如果你想看到的效果:

<Grid x:Name="LayoutRoot" Background="YellowGreen"> 
.. 
1

也许主题不尊重页面中的背景颜色。你可以做的是添加一个边框作为页面的子项,并将其背景颜色设置为任何你想要的。

<phone:PhoneApplicationPage> 
<Border Background="Red"> 
...more content here... 
</Border> 
</phone:PhoneApplicationPage> 
0

有一些选项来设置页面或网格的背景。

假设你的XAML页面如下图所示

<Grid x:Name="LayoutRoot"> 
    //start from here page design 
</Grid> 
  1. 如果你想设置的XAML页面,然后使用下面的代码。有一些选项来设置页面的背景或网格

    <Grid x:Name="LayoutRoot"> 
        //start from here page design 
    </Grid> 
    
  2. 如果想从下面的代码cs文件使用在构造函数中设置InitializeComponent();方法,其初始化页面。

    public MainPge() 
    { 
        InitializeComponent(); 
        LayoutRoot.Background = new SolidColorBrush(Colors.White); 
    } 
    
  3. 对于所有的网页添加在app.xaml.cs下面的代码(仅测试WP8.1的Silverlight)

    public PhoneApplicationFrame RootFrame { get; private set; } 
    public App() 
    { 
        .............. 
    
        RootFrame = new TransitionFrame 
        { 
         Background = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF)) 
        }; 
    }