ホーム >のデザイン時Silverlightの >は、コントロールをSilverlightをあなたのツールボックスのアイコンを用に追加する方法

制御する方法をあなたのSilverlight用のツールボックスのアイコンを追加する

変更履歴:

  • 最初の2008年1月21日にSilverlightを2/VS2008/Toolkit 12月2008リリース発表した。
  • 2009年12月5日更新 11月のSilverlight 4/VS2010/Blend3/Toolkit 2009リリース。

コントロールSilverlightランタイム(例:system.windows.dllを)とSDKは(例:system.windows.controls.dll)Visual StudioとBlendで素敵なツールアイコンがあります。 Silverlightのツールキットのリリースは2008年12月追加、ポストの前のツールキットは、制御過ぎて、私と同様に、説明デザイン時の機能ツールキットでSilverlight

カスタムアイコンを

このポストはどのようにSilverlightで、2 SDKを行われ、12月にSilverlightをツールキット2008年のリリースについて説明します。

コントロールのアイコン実行時の国会で

2008年12月発売は、Silverlight Toolkitの埋め込むツールボックスのアイコンをどのようにコントロールのデザイン時のアセンブリを使用せずに示した。

オープンSilverlight.Controls.slnはスタジオで、Visual(ポスト参照してください以前の実装でSilverlight Toolkitの機能デザインタイムソースツールキットをダウンロードする方法の詳細については):
埋め込みアイコンを実行時にアセンブリには、Visual Studioの表示

またはオープンControls.csprojメモ帳で:

<ItemGroup>
<EmbeddedResource Include="Microsoft.Windows.Controls.AutoCompleteBox.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.DockPanel.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.Expander.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.Label.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.TreeView.Icon.png" />
<EmbeddedResource Include="Microsoft.Windows.Controls.Viewbox.Icon.png" />
<は/>をItemGroup

反射でそれともオープンMicrosoft.Windows.Controls.dll:

埋め込みアイコンを実行時にアセンブリ、反射ビューで

すべての3つを見る、カスタムツールボックスのアイコンは実行時にアセンブリMicrosoft.Windows.Controls.dllでは、特定の命名規則を持つリソースを埋め込まれている。 例としてMicrosoft.Windows.Controls.Microsoft.Windows.AutoCompleteBox.Icon.png てください上:

  • 最初のMicrosoft.Windows.Controls は>れているルートの名前空間RootNamespace / でcontrols.csproj指定ファイルの行:<RootNamespace> System.Windows.Controls <
  • 次のMicrosoft.Windows.Controls.AutoCompleteBox は、アセンブリを含む名前空間ではなく、のAutoCompleteBoxのクラス名は完全修飾。
  • icon.pngは 、残りの名前を保存しますが説明以上指定すると、入力をアイコンのリソース。

デザイン時にコントロールのアイコンが国会

Silverlight 2のSDKには、デザイン時にアセンブリ内のコントロールのアイコンを埋め込むのアプローチを示した。

オープンSystem.Windows.Controls.Design.dllは、反射で(これは%でインストールされてProgramFiles%は\マイクロソフトのSDK \ Silverlightを\ v2.0の\ライブラリ\クライアント):

デザイン時にアセンブリ、反射ビューに埋め込むアイコン

上記の例でくださいControls.Design.Icons.Calendar.bmp として

  • Controls.Designは>れているルートの名前空間RootNamespace / <RootNamespace> Controls.Design <行 、指定されたそのcsprojファイルと
  • アイコンは、ツリー内のソースですサブフォルダですCalendar.bmpファイルには、
  • Calendar.bmpは、ツリーファイル内のリソース名のアイコンは、ソース

コントロールのアイコンリソース命名規則

2例だからからabove、私たちは)デザイン時のアセンブリを出荷する、またはデザイン時のアセンブリ(ようにするのアイコンを変更する柔軟性を持つ必要があることがないようコントロールに対してカスタムツールボックスのアイコンをも実行時間がアセンブリ内の(埋め込みリソースを見ることができますは、異なる文化、実行時にアセンブリを触れることなく)、それをローカライズなど。 ツールは(Visual Studio 2008の今のSP1)のアイコンを、特別な命名規則に基づいて検索しようとすると:

  1. そのファイル名拡張子なしの名前空間を含むコントロールの名前を入力し、一致するリソースを検索、"[との。アイコン*](XAMLの| BMPの| PNG形式| GIFの| JPGファイル| JPEGの)"。
    1. そのサブディレクトリが発見されるの埋め込みリソースを名前空間に影響を与える注意してください。 たとえば、ツールのアイコンがMicrosoft.Windows.Controlsサブフォルダの下に、すべてのアイコンのファイル名で、この長い文字列を入れて回避するために配置されます。SDKには、アイコンのサブフォルダの下にすべてのアイコンを置くいる。
    2. サポートされて拡張し、ファイルの種類があります:XAMLを、BMPやGIF、JPG、JPEG形式、PNG形式
    3. ビットマップベースのファイルフォーマットの推奨画像サイズは64 × 64。
    4. [はアイコン*]命名規則では省略可能ですし、アイコンとして使用されるイメージの複数のサイズを指定することができます。 試合は、次のアルゴリズムに従います:
      1. ベクトルのXAML
      2. あるサイズに正確に一致する(両方の寸法)が使用された場合
      3. 最も使用して、サイズとアスペクト比に基づいて一致する
    5. 指定されたリソースファイルは、有効なXAMLを、または有効な画像ファイルは、次の試合ではない場合は1つが見つかるまで使用されます。
  2. イメージは、コントロール、緩い試合の名前を入力だけに基づいて同じ名前空間に存在しない場合にすべてのリソースに対する、検索されますとSDKの場合です。
  3. 別のホストがそのツールボックスのアイコンを別の画像サイズを使用します。
    1. ブレンドが使用するサイズが大きく、24 × 24 12 × 12サイズが小さい(私はこのブレンドの2 SP1に働いているとは思わないの)。
    2. サイダーは、(Visual Studioの)16 × 16 bmpファイルを使用します。

ブログの記事は、デザイナコントロールのWPFの指定するためのツールボックスのアイコンを詳細規則をより命名について説明します。


更新のためにBlend3&VS2010

この記事は、最初の2008年1月21日に公開されていたので、我々は2つのキーの改善は、コントロールのアイコンに関する作った:

  • ブレンド3は、コントロールのアイコンが表示されますすぎる:24 × 24)の資産ライブラリ(大きなアイコン、および× 12)のオブジェクトとタイムライン12の小さなアイコン(参照してくださいSilverlightのデザインタイム:ツールキット2009年7月発売の更新については、詳細。
  • あなたは)ブレンド3およびVisual Studio 2010を使用してコントロール(およびその関連のアイコンを登録できます。 を参照して登録のSilverlightコントロールBlendとVisual Studioとの情報より。
  • アイコンのリソースの命名規則は一緒に、デザイン時のアセンブリの命名規則に改訂される。 を参照してSilverlightのデザイン時のアセンブリのアセンブリデザイン時の拡張命名規則に関する詳細は情報です。 注意してくださいそのアイコンのリソースsearch最初のIEのメタデータ時間の順序の設計loadingのis in reverseための、dllファイル *. Expression.Design大会で*. namingアイコンリソースaboveブレンドなると検索すると、コントロールの組み込みアイコンリソース。それが失敗した場合にのみ検索を共有*.デザイン*. dllの2番目のブレンドされます、そして失敗した場合、再度、組み込みアイコンリソースに対応するランタイムDLLを検索する場合は、すべてのが失敗した場合にのみ、ブレンドのデフォルトのアイコンが表示されますコントロール。 Visual Studio 2010と同様の方法、それをしないで、しかし、検索*. VisualStudio.Design *. dllファイルの最初。
  • BlendとVisual Studioには、現在、多くのアイコン形式をサポートするアイコンを拡大縮小する必要サイズリソース(24 × 24 12 × 12ブレンド、および16 × 16 VSの)が見つからない場合。

SilverlightをToolkitは、リソースをアイコンの埋め込むための命名規則を使用次:

  • タイプ、元。System.Windows.Controls.Calendar)だけではなく、名前を入力(例:カレンダー)あいまいさを避けるために完全な名前を(名前空間+を使用します。
  • 共有。design.dllのブレンドの配置アイコン、および。VisualStudio.Design *. DLLでVisual Studioのツールボックスのアイコン。 この方法では、VS2010が正しいツールのアイコンを表示することができます1つの場合。VisualStudio.Designは、*. dllファイル;、VS2010は、ブレンドのアイコンを読み込むことができますていない場合は、16 × 16、ツールボックスに表示することをスケーリングに存在します。
  • ランタイムのDLLには最後の手段としてのみ(例、アイコンのみのリソースをデザイン時にアセンブリを出荷しないように)アイコンのリソースを置く。

あなたが規則をすることができます参照してくださいコントロールの名前のリソースは、アイコンのSilverlight Toolkitのソースコード:

Embed Blend Icons in Shared .Design.dll

Embed Visual Studio Icons in .VisualStudio.Design*.dll

共有し、楽しみなさい:

  • Print
  • email
  • RSS
  • Twitter
  • TwitThis
  • del.icio.us
  • LinkedIn
  • Technorati
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • QQ书签
  1. 2009年10月10日|で午前2時41分#1

    チェックhttp://www.ArtistsValley.comをアイコンのいくつかの大規模なXAMLとSilverlightの価格ですごい!

  1. 2009年1月25日|で午後12時58分#1