1

首先,我创建了一个按钮(名为 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
            }
        }
    }
4

1 回答 1

1

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

于 2012-05-07T23:52:18.700 回答