4

この質問に対する私の動機は、ImageSource の依存関係プロパティを介してユーザー コントロールで使用されるイメージを指定することです。このための管理、アクセス、および単体テストに関連するいくつかの問題点に直面しています。

  • リソース エディターは、アプリケーションのイメージを維持するために使用するのに適したツールですか?
  • ビットマップをエディタから ImageSource に変換する最良の方法は何ですか?
  • エディターからリソースのファイル名を取得するにはどうすればよいですか?
4

1 に答える 1

10

いいえ、リソース エディタはこれには適したツールではありません。

WPF アプリケーションでは、すべての画像を「Images」ディレクトリに置き、それぞれを「Resource」としてマークするのが最善の方法です。その後、イメージ コントロールなどで直接参照できます。

正確な手順は次のとおりです。

  • お気に入りのビットマップ編集プログラム (Paint.NET、Photoshop など) を使用して画像を切り抜き、その他の方法で調整します。
  • それらを .png ファイル (または、必要に応じて .jpg または .gif) として保存します。
  • Visual Studio ソリューション内に "Images" フォルダー (または複数のフォルダー、ただし整理したい) を作成します。
  • イメージをハードディスクから「イメージ」フォルダにドラッグします (または、プロジェクトを右クリックし、[新規] -> [既存の項目] を選択してイメージを選択します)。

XAML でイメージを簡単に参照できるようになりました。

<Image Source="Images/MyImage.png" />

またはコードで:

var source = (BitmapSource)Application.LoadComponent(
               new Uri("Images/MyImage.png", UriKind.Relative));

外部アセンブリのイメージを参照することもできます。

<Image Source="ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png" />

コードでは次のようになります。

var source = (BitmapSource)Application.LoadComponent(
               new Uri("ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png",
                 UriKind.Relative));
于 2010-06-12T02:50:29.713 に答える