动态更改背景时出错

时间:2012-05-07 14:25:40

标签: c# windows-phone-7

首先,我创建了一个按钮(名为BackgroundChooser),用于动态更改背景图像(他们可以选择自己的图像作为背景)。但我已经为我的Windows Phone 7应用程序使用了默认背景图像(image1.jpg)。当我点击选择背景按钮时,它会指向我们保存的图片。之后,我选择了我的图像作为我自己的背景图像。但默认的背景图像仍然没有改变。 然后,当我将默认背景更改为黑色时,我可以设置我自己的背景图像(它工作正常)。需要帮忙!!!在此先感谢您的辛勤工作!!!

以下是我用过的代码 - :

    private void BackgroundChooser_Click(object sender, MouseEventArgs e)
    {
        var PhotoChooser = new PhotoChooserTask();
        PhotoChooser.Completed += new EventHandler<PhotoResult(PhotoChooser_Completed);
        PhotoChooser.Show();
    }

    void PhotoChooser_Completed(object sender, PhotoResult e)
    {
        {
            if (e.TaskResult == TaskResult.OK)
            {
                System.Windows.Media.Imaging.BitmapImage bmp = new System.Windows.Media.Imaging.BitmapImage();
                bmp.SetSource(e.ChosenPhoto);
                var app = Application.Current as App;
                if (app == null)
                return;
                var imageBrush = new ImageBrush { ImageSource = bmp, Opacity = 0.5d };
                app.RootFrame.Background = imageBrush;
                //app.RootFrame.Background = new SolidColorBrush(Colors.Black);  //we can apply just color too like this
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

而不是app.RootFrame.Background,请尝试在页面上的某些显示对象上设置Background属性,例如myPanoramaControl.Background = imageBrush;LayoutRoot.Background = imageBrush;(其中LayoutRoot是新版本的默认网格控件的名称) WP Page)