読者です 読者をやめる 読者になる 読者になる

イメージや動画などのアセットの配置(その1):XAPの中に配置

一番お手軽で分かりやすくって簡単なのはこれだと思います。
XAPの中に配置ってのは、XAPファイルの中にファイルがそのまま置かれてるってことです。なので、XAPファイルをZIPで展開するとファイルがそのまま見えます。

画像では写ってませんが、imageフォルダの下にもChicken2.pngってのがあります。

で、XAMLからアクセスする場合は、こんな感じで書きます。

<StackPanel>
  <Image Source="/Chicken1.png"  Stretch="None" />
  <Image Source="/image/Chicken2.png"  Stretch="None" />
</StackPanel>

そうすると、こんな感じに表示されます。

先頭のスラッシュを忘れないでください。これ忘れると表示されません。

では、これをどうやってVisual Studioから設定するかですが、まずは普通にプロジェクトに追加します。

ここからがポイントです。
この配置したファイルのプロパティで[ビルドアクション]を[コンテンツ]にします。

[コンテンツ]にすることでXAPファイルの中に配置されます。これ忘れると全く表示されないので注意してください。
かくいう私も、これを忘れてて20分くらいしか時間がないときに、10分くらい悩んでしまいました。

補足

Expression Blend 2.5でimageをおいて、ソースを指定すると先頭の "/" が記載されません。ということで、動かしても表示されません。デザイナ上ではばっちり表示されてるんですけどね・・・。

さらに、たとえばBlendで開いているxamlファイルがフォルダを間に挟んでいたら、上の階層をあらわす"../"が追加されます。予想通り表示されません。