2017-06-29 7 views
0

現在、私はVisual Studio 2017で自分のプロジェクトに取り掛かりました。次のコードは、.xamlページのImageコンポーネントのソースを設定するためのものです。BitmapImageをImage.Sourceにキャストする

private void setImage() 
    { 
     var image = new Image(); 
     var imageUrl = @"http://ddragon.leagueoflegends.com/cdn/5.2.1/img/" + 
     currentChamp.Image.Group + "/" + currentChamp.Image.Full; 
     Debug.Write(imageUrl); 
     BitmapImage bmi = new BitmapImage(); 
     bmi.BeginInit(); 
     bmi.UriSource = new Uri(imageUrl, UriKind.Absolute); 
     bmi.EndInit(); 

     image.Source = bmi; 
    } 

ここに参照するコードがあります。 ^^^

と同様のが私が求めているものと一致していますが、これは満場一致で、私がやろうとしていることを全面的に答えています。しかし、私は他のが質問

のいずれかで受信した誰もが暗黙のうちにWindows.UI.XAML.media.ImageSource

にsystem.windows.media.imaging.BitmapImageを変換することはできませんというエラーが発生します

私のインポート、参照、およびタイプはすべてチェックされ、正しいものです。フレームワークが欠けていますか?これがもう動作しなくなったかもしれないアップデートがありましたか?

私はリソースフォルダを参照するわけではないとして、これは、thisの複製ではなく、私のパスが絶対的であることをMicrosoft.NETCore.UniversalWindowsPlatform

ノートで作業VS2017を使用しています。

答えて

1

Windows.Media.Imaging.BitmapImageは、WPFクラスです。 Windows.UI.XAML.media.ImageSourceはUWPです。 WPF用のソリューションを見つけましたが、UWP ImageクラスではUWPビットマップオブジェクトが必要です。 Windows.UI.Xaml.Media.Imaging.BitmapImageを使用する必要があります。

私は現時点ではUWPをテストすることができないんだけど、説明書を読んでから、私はあなたがこのような何かをしたいと思う:

image.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(imageUrl, UriKind.Absolute)); 

あなたのC#ファイルにusing Windows.Media.Imaging;を持っている必要があります。

image.Source = new BitmapImage(new Uri(imageUrl, UriKind.Absolute)); 
+0

あなたの例がしたように、これは、完全に働いた:次にあなたがちょうどこれを使用することができusing Windows.UI.Xaml.Media.Imaging;

とそれを交換するのが賢明だろう。どうもありがとうございました。私はC#には比較的新しいですし、デバッグは私の最大の課題でした。 – spaff

1

エラーメッセージは、何が間違っているかを正確に示しています。 UWPプロジェクトで非UWP BitmapImageを使用しています。 System.Windows.Media.Imagingの使用を取り除き、Windows.UI.Xaml.Media.Imagingに変更してください。