私はWindowsPhoneアプリを開発しています。
画像を使用していますが、[プロパティ]パネルを使用して画像を選択すると、次のXAMLが表示されます。
<Image x:Name="GameImage" Margin="8" Source="/MyApp;component/Assets/Icons/GameImage.png"/>
なぜ「/MyApp;component/...
"?(もっと良い方法はありますか?)
私がやろうとするとImage.Source="Assets/Icons/GameImage.png"
なぜそれが機能しないのですか?
これは、イメージのビルドアクションがResourceに設定されているためです(これがデフォルトです)。これをContentに切り替えると、XAMLで次のようにソースを設定できます。
<Image x:Name="GameImage" Margin="8" Source="/Assets/Icons/GameImage.png"/>
コードで設定するには、次のようにします。
BitmapImage tn = new BitmapImage();
tn.SetSource(Application.GetResourceStream(new Uri(@"Assets/Icons/GameImage.png", UriKind.Relative)).Stream);
Image.Source = tn;
パフォーマンス上の理由から、コンテンツを使用する必要があります。詳細については、この記事を参照してください: http://www.windowsphonegeek.com/tips/wp7-working-with-images-content-vs-resource-build-action
埋め込みリソースとしてマークされたコンテンツはすべて、アセンブリから読み込まれます。したがって、使用サイトは、リソースが埋め込まれているアセンブリを指定することを知っている必要があります。あなたの場合、これはMyApp
です。
追加することを忘れないでください:
using System.Windows.Media.Imaging;
BitmapImage tn = new BitmapImage();
tn.SetSource(Application.GetResourceStream(new Uri(@"Assets/Icons/GameImage.png", UriKind.Relative)).Stream);
Image.Source = tn;
あなたが使用することができます:
BitmapImage obj = new BitmapImage();
obj.UriSource = new Uri(mera_image.BaseUri,file.Path);