4

私のアセンブリ(A)から、画像を渡す別のアセンブリ(B)のメソッドを呼び出したいと思います。この画像はWPFウィンドウに表示されます-ウィンドウはBのプロジェクトの一部です。

これはBのコンテキストで評価されるため、pack:// uriでImageSourceを渡すことができないようです。したがって、まだAにあるときにCachedBitmap(?)を使用して画像をキャッシュする必要があると思います。

        BitmapImage img = new BitmapImage(new Uri("Images/32px-Nuvola_apps_cache.png", UriKind.Relative));
        CachedBitmap cbmp = new CachedBitmap(img, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

イメージをEmbeddedResourceに設定し、ストリームとしてロードすると、これを機能させることができましたが、これはWPFの方法ではありません。

パックからのようです:私はこれを行うことができるはずのドキュメントですが、私はこれらを以下で試しましたが、何も機能しません。

"Images / 32px-Nuvola_apps_cache.png":"パスの一部が見つかりませんでした" " pack:// application:,,, Images / 32px-Nuvola_apps_cache.png":"URIプレフィックスが認識されません。" 。"pack:// siteoforigin:,,, Images / 32px-Nuvola_apps_cache.png":"URIプレフィックスが認識されません。"

私がやりたいのは、Resource .pngファイルをメモリにロードし、それを別のアセンブリのメソッドにホールセールで渡すことだけです。

ポールに感謝します。

4

1 に答える 1

9

試す:

pack://application:,,,/YourAssemblyName;component/Images/32px-Nuvola_apps_cache.png
于 2009-04-29T11:30:01.813 に答える