|
あえてマニフェストリソースから直接取得するならこんな感じでしょうか…?
var stream = typeof(hoge).Assembly.GetManifestResourceStream("AppName.g.resources");
BitmapImage image;
using (var reader = new System.Resources.ResourceReader(stream)) {
foreach (DictionaryEntry resource in reader) {
// ちなみに名前はURLエンコードされるようなのでASCII文字以外を使うときは注意
if ((string)resource.Key == "Resources/Images/content.png") {
image = new BitmapImage();
image.BeginInit();
image.StreamSource = (Stream)resource.Value);
image.EndInit();
break;
}
}
パッケージURIを使った方が早いかと思います。
BitmapImage image = new BitmapImage(new Uri("pack://application:,,,/Resources/Images/content.png"));
// System.Windows.Applicationにアクセスするタイミングで
// packスキームやapplication証明機関を登録しているので
// Mainメソッドで記述したりはほぼできないですが。
|