2011-08-09 5 views
1

イメージチューザタスクから選択したイメージをイメージコントロールに取得しようとしています。 しかし、私はどのように私はそれをやって行くべきイメージチューザタスクの選択されたイメージをイメージコントロールに取得するC#Windows電話7

"Cannot implicity convert type 'System.Windows.Media.ImageBrush' 
to 'System.Windows.Media.ImageSource'" 

のエラーを得ましたか?

私が使用したコード:

  var bitmapImage = new BitmapImage(); 
      base.OnNavigatedFrom(e); 
      ImageBrush bgImage = new ImageBrush(); 
      bgImage.ImageSource = App.globalData.bitmapImage; 
      image1.Source = bgImage; 

答えて

1

Basicall、エラーは、既存のimagebrushにbgImageのあなたのImageSourceはを設定しようとしていると言っています。

は、次のようにコードを変更してみてください:

base.OnNavigatedFrom(e); 
image1.Source = App.globalData.bitmapImage; 

新しいブラシを作成し、それがImageSourceは財産だとして、既存のimagebrushを割り当てるしようとしているので、あなたはそのエラーを取得しています。イメージブラシ(App.globalData.bitmapImage)を既に持っているので、ブラシの作成に関係するすべてのロジックを削除し、イメージのソースに直接割り当てることができます。 (image1.Source = App.globalData.bitmapImage;)

P.S.おかげで、今私はその背後にある理由が何であるかを知っている

private void PhotoChooserCompleted(object sender, PhotoResult e) 
    { 
     if (e.TaskResult == TaskResult.OK) 
     { 
      var img = new BitmapImage(); 
      img.SetSource(e.ChosenPhoto); 
     } 
    } 
+0

:ここ

は、私がphotochooserタスクから写真を取得するために使用するいくつかのコードです。ところで、イメージコントロールが空であるかどうかをチェックする方法はありますか? –

+0

空ではどういう意味ですか?ソースが設定されていないことを意味する場合は、ヌル値をチェックできます。 (これは、Sourceプロパティのデフォルトです) - if(image1.Source == null) – evasilchenko

+0

イメージコントロールが現在画像を表示しているかどうかをチェックしたいと考えました。 –

関連する問題