0

Winforms プロジェクトと WPF プロジェクトの両方で使用したい png、ビットマップ、およびアイコンが多数あります。

私は winforms でリソースを使用することに慣れており、WPF のリソースに満足しています。

両方が共有する共通のリソースを持っている場合、人々は何をしていますか? 私の現在の感覚では、WPF リソース アセンブリと Winforms リソース アセンブリが必要ですが、私が調べたアプローチはどれも流動的ではないようです。

ありがとう

4

2 に答える 2

2

WPF コントロールと Winforms コントロールの両方を含むプロジェクトがあります。このプロジェクトには、すべての画像を含むリソース フォルダーがあります。相対パスを使用してディスクからロードするだけです。
プロジェクト名が「MyProject」で、イメージ パスがプロジェクト フォルダー内の「MyImages」という名前のフォルダーで、イメージ名が「MyImage.bmp」であると仮定すると、次のようにロードできます。

Winforms で:

new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyImages.MyImage.bmp")

WPFで

 <Image Source="pack://application:,,,/MyProject;Component/MyImages/MyImage.bmp">

それが役に立てば幸い...

于 2012-04-10T13:27:29.497 に答える
1

Amittai Shapira による回答は、ビルド アクションが「埋め込みリソース」に設定されている場合に機能します。ビルド アクションを「リソース」に設定した場合は、次を使用できます。

Winフォーム:

Bitmap photo;
var picUri = new Uri(@"pack://application:,,,/MyProject;component/MyImages/MyImage.bmp", UriKind.Absolute);
var resourceInfo = Application.GetResourceStream(picUri);

if (resourceInfo != null)
{
   photo = new Bitmap(resourceInfo.Stream);
}

WPF:

<Image Source="MyImages/MyImage.bmp"/>
于 2013-10-31T15:13:52.457 に答える