2016-09-16 8 views
2

私はVS2015でWPFアプリケーションを作成しています。私はイメージコントロールを含むユーザーコントロールを持っています。 Imageサブフォルダ内のファイルシステムに自分のイメージがあります。デザインモードでは、画像がうまく表示されましたが、実行したときには表示されませんでした。私はイメージの場所を指定しました:XAML画像ソース

Source="Images/ball.png" 

Imageタグの中にあります。私は、フォルダをbin\Debugフォルダなどにコピーするなど、すべての明白なことを試しました。このエラーメッセージは、Sourceタグで表示されました。

"C:\ Program Files(x86)\ Newフォルダ\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Images \ red -ball.png '」

最終的に画像にフルパスを付けることによって表示されましたが、実際にはそうする必要はないと思います。 IDEの場所ではなく、アプリケーションに相対的な相対パスを与える方法はありませんか?

答えて

2

まず、あなたのイメージのサブフォルダは、プロジェクトすなわちに相対的であることを確認してください。

  • プロジェクト
    • 画像
      • ball.png

"ball.png"をプロジェクトに追加して、ビルドアクションを "リソース"に設定します。あなたのリンクは、あなたが期待どおりに動作するようになりました。

私はあなたが言いたい場所でイメージを探していると推測しています。なぜなら、探したいリソースで見つけられなかったからです。サウンドとビデオクリップはではなくであるので、それらをビルド出力にコピーするか、パックURIを使用する必要があります。

+0

ファイルシステム上にイメージがありましたが、ソリューションには含まれていません。私はそれがなぜ重要かわからないが、それをソリューションに追加した後、それはうまくいくと分かった。助けてくれてありがとう! – Frecklefoot

+1

@Frecklefootこれは、ソリューションに追加してリソースにすることで、コンパイラが実際にEXEに埋め込み、アプリケーションがこれを見つけることができるため重要です。 – BradleyDotNET

+0

これは、イメージをファイルシステムから動的にロードしてイメージコントロールに埋め込むことができないということですか?または、ファイルシステムからのイメージがコード(XAMLではなく)を介してロードされていますか? – Frecklefoot

関連する問題