2012-05-07 14 views
1

まず、背景画像を動的に変更するためのボタン(BackgroundChooserという名前)を作成しました。しかし、私はすでにWindows phone 7アプリケーションにデフォルトの背景イメージ(image1.jpg)を使用しています。バックグラウンドボタンをクリックすると、保存された画像が表示されます。その後、自分の背景イメージとしてイメージを選択しました。しかし、デフォルトの背景イメージは変更されません。 次に、デフォルトの背景を黒に変更したら、自分の背景イメージを設定できます(完全に動作しています)。助けが必要!!!あなたの努力のために事前に感謝!以下は 背景を動的に変更する際にエラーが発生しました

は私が持っているコードですused-:

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 
      } 
     } 
    } 
+0

これもやってみましたが、うまくいきませんでした。誰かがこれについての答えを持っているかどうかを知ることは興味深い。 – Dante

+0

どのようにデフォルトの背景を設定していますか? –

答えて

1

代わりのapp.RootFrame.Background、自分のページにいくつかの表示オブジェクトの背景プロパティを設定してみてください、このようなLayoutRootは、デフォルトの名前であるmyPanoramaControl.Background = imageBrush;またはLayoutRoot.Background = imageBrush;(など新しいWPページのグリッドコントロール)

+0

うーん、私はapp.RootFrame.Backgroundを使用した例を見ました。おそらくそれはすべてうまくやっています。そうであれば、あなたの 'BitmapImage'オブジェクトに問題があると思います。楽しみのために、 'bmp = new BitmapImage(新しいUri(" http:urlToAnImage "、UriKind.Absolute))'を設定し、それがトリックをするかどうかを確認してみてください。 – earthling

+0

ありがとうございました。 – user1316766

関連する問題