次の方法で共有


Visual Studio 2008 のツールボックス アイコン

カスタムの WPF (Windows Presentation Foundation) コントロールと共にツールボックス アイコンを Visual Studio に含めることができます。 このトピックでは、ツールボックス アイコンの名前を付ける方法とそれらのアイコンを埋め込みリソースとして含める方法について説明します。

注意

このトピックは、Visual Studio 2008 との下位互換性のために保持されます。 Visual Studio 2010 については、「ツールボックス アイコン」を参照してください。

サポートされるファイルの種類

WPF Designer for Visual Studio でツールボックス アイコンとしてサポートされるファイルの種類を次の表に示します。

  • XAML

  • BMP

  • GIF

  • JPG

  • JPEG

  • PNG

名前付け規約

ツールボックス アイコンとカスタム コントロールを関連付けるには、次の名前付け規則を使用します。 WPF Designer for Visual Studio は、コントロールのアセンブリ内の埋め込みリソースを調べて、適切な名前の付けられたイメージ ファイルを探します。

最も単純な方法では、コントロールのプロジェクトに埋め込みリソースとしてツールボックス アイコンのイメージを追加します。 ControlName.Extension という形式で名前を付けます。 WPF デザイナーは、コントロールの型名と一致するファイル名を持つリソースを検索します。 詳細については、「チュートリアル : コントロール用のカスタム ツールボックス アイコンの作成」を参照してください。

注意

WPF デザイナーは、ある照合アルゴリズムを使用して、ツールボックス アイコンに最適なリソースを検索します。 リソース ファイルが有効な XAML または有効なイメージ ファイルでない場合は、有効なリソース ファイルが見つかるまで次に一致するリソースが検索されます。XAML イメージに非システム型への参照を含めることはできません。

完全一致名

ツールボックス アイコンの名前付け規則では、完全一致リソース名がサポートされています。 完全一致名を使用する場合、Namespace.ControlName.Icon.Extension という規則を使用して、ツールボックス アイコンの名前に名前空間を含めます。 たとえば、ProseControl という名前のコントロールが Proseware.Core.Controls 名前空間で定義されているとします。 このコントロールの完全一致 PNG ツールボックス アイコン名は、Proseware.Core.Controls.ProseControl.Icon.png となります。

リソースについては、Visual Studio はフォルダーを自動的に名前空間に変換します。 したがって、名前空間と同じフォルダー構造をプロジェクトに作成できます。 埋め込みリソースが存在する名前空間に対してフォルダーが影響を与えることに注意してください。前の例では、Icons というサブフォルダーにイメージ ファイルがある場合、WPF デザイナーは Proseware.Core.Controls.Icons.ProseControl.Icon.png という名前のツールボックス アイコンを検索することになります。

コントロールと同じ名前空間にイメージが見つからない場合、WPF デザイナーは不完全一致で検索します。

不完全一致名

WPF デザイナーは、完全一致リソースが見つからなかった場合、アセンブリの埋め込みリソース内で不完全一致を検索します。 前の例では、WPF デザイナーはまず、Proseware.Core.Controls.ProseControl.Icon.Extension という完全一致名を持つファイルを検索します。 この検索が失敗すると、WPF デザイナーは名前空間を無視し、型名だけに基づいて名前を検索します。 この例の場合、WPF デザイナーはリソース内で ProseControl.Icon.Extension という名前のすべてのファイルを検索します。この検索が失敗すると、WPF デザイナーは既定の名前空間から検索を開始します。 この例の場合、WPF デザイナーは、Proseware.ProseControl.Icon.Extension という名前のファイルを検索します。

複数のイメージ サイズ

ツールボックス アイコン イメージ ファイル名には、オプションで "Icon" フィールドを含めることができます。 この部分文字列を使用することにより、アイコンに対して複数のイメージ サイズを指定できます。

前の例の ProseControl コントロールの場合、WPF デザイナーは、リソース内で次のイメージを検索し、最適なサイズのイメージを選択します。 

  • Proseware.Core.Controls.ProseControl.Icon.Large.png

  • Proseware.Core.Controls.ProseControl.Icon.Medium.png

  • Proseware.Core.Controls.ProseControl.Icon.ReallyLarge.png

"Icon" の後のピリオドを省略して、次のようなファイル名を使用することもできます。

  • Proseware.Core.Controls.ProseControl.IconLarge.png

  • Proseware.Core.Controls.ProseControl.IconMedium.png

  • Proseware.Core.Controls.ProseControl.IconReallyLarge.png

WPF デザイナーは、次の規則に基づいてツールボックス アイコンを選択します。

  1. ベクター XAML。

  2. 幅も高さも完全に一致するもの。

  3. サイズと縦横比が最も近いもの。

ビットマップ ベースのファイル形式の場合、推奨されるイメージ サイズは 64 ピクセル × 64 ピクセルです。

WPF デザイナーと Expression Blend とでは、ツールボックス アイコンに使用されるイメージ サイズが異なります。 Expression Blend は、大きいアイコンのサイズに 24 × 24、小さいサイズに 12 × 12 を使用します。 WPF デザイナーは 16 × 16 を使用します。

ホストで最適とされるサイズが 64 ピクセル × 64 ピクセルで、Proseware.Core.Controls.ProseControl.Icon.Large.png がサイズと縦横比に基づいて最適な一致である場合、このファイルが使用されます。 アセンブリ内のすべてのイメージが調べられます。 サイズも縦横比も同じイメージが 2 つある場合は、どちらを使用するかはホストが決定します。

参照

処理手順

チュートリアル : コントロール用のカスタム ツールボックス アイコンの作成

その他の技術情報

ツールボックス アイコン

リソースの使用