2016-09-07 14 views
0

私はResources.resxファイルに画像を追加しました。私はこれを次のように参照しています:イメージのStaticResourceが実行時に見つからないのはなぜですか?

デザイナーでは、上記の下に青い線があります。私が間違って何をやってる

Provide value on 'System.Windows.Markup.StaticResourceHolder' threw an exception.

任意のアイデアを:それは

The resource "MyImage" could not be resolved.

実行時には、それがこのエラーがスローされますと言いますか?

+1

あなたのバインディングコンテキストに 'MyImage'がありますか?あなたのモデルはどのように見えますか? Bindingの代わりに 'StaticResource'または' DynamicResource'を使用することを意味しましたか? – vcsjones

+0

いいえ - バインディングコンテキストにありません。私はこれが 'StaticResource'だと確信しています。 – 4thSpace

答えて

3

resxのファイルをWPFで使用しないでください。相互運用を行うためにいくつかのコードを追加する必要があります。 resxの画像は主にWinFormsコードで使用されます。 ビルドアクションへのリソースファイルのプロパティで設定し

build action

は、それからちょうど直接ファイルを参照:<Image Source="../../Some/Relative/Path.png"/>

{Binding}{StaticResource}どちらもが必要とされています。

+0

Build ActionがResourceの場合、 "../"で始まる "相対パス"はありません。実際には、それは 'pack:// application:,,)なしで[リソースファイルパックURI](https://msdn.microsoft.com/en-us/library/aa970069(v = vs.110).aspx)です。 、/ '接頭辞。これはXAMLパーサーによって自動的に追加されます。 – Clemens

+0

@Clemensリソースが同じアセンブリ内にある場合は、xamlファイルに関連するパスを使用することもできます。私は '../'を使って親ディレクトリを示しました。 –

関連する問題