のアーカイブ

2010年1月のアーカイブ2009年

Silverlightのコントロール

2009年1月24日 コメントなし

まとめ

この記事は、Silverlight 2は、Silverlight 2 SDK、およびSilverlight Toolkitの2008年12月のリリース、およびそのデザイナサポートにコントロールを説明します。 ランタイムコントロールは、SDKのコントロール、およびツールキットのコントロール:その輸送車を基に、マイクロソフトからSilverlightコントロールの3種類があります。 ランタイムおよびSDKのコントロールのデザイナサポートはVisual Studioで、ブレンド、およびSilverlight SDKに広がっている。Toolkitコントロールのデザイナサポートが完全にデザイナーの"拡張フレームワークを使用して、ツールキットの設計アセンブリによって実装されている間。

ランタイムコントロール

Silverlightランタイムは、ボタンのような基本的なコントロールのセット、、キャンバス、楕円、およびテキストボックス(TextBox)コントロールが付属しています。 また、ユーザーは、カスタマイズ、拡張し、独自のコントロールを構築できるように、コントロール、ユーザーコントロールとパネルのようないくつかの基底クラスを公開します。 すべての実行時のコントロールは%ProgramFiles%の下System.Windows.dllにある\ Microsoft Silverlightは\ 2.0.31005.0 \:

反射鏡のSystem.Windows.dll

XmlnsDefinitionは上記の属性に注意してください。 ランタイムコントロールは、既定のxmlnsに住んでhttp://schemas.microsoft.com/winfx/2006/xaml/presentationので、それらのタグは、XAML以下に示すように、任意のxmlns接頭辞は必要ありません。

< ユーザーコントロール
xmlnsは=" http://schemas.microsoft.com/winfx/2006/xaml/presentation "
xmlns名前:X =" http://schemas.microsoft.com/winfx/2006/xaml "
X:クラス="MySLApp1.Page"
幅="640"高さ="480">
<StackPanelの X:名前="のLayoutRoot"背景="ホワイト">
< ボタン X:名前="ボタン"/>
</ StackPanelを >
</ UserControlを >

SDKには、制御

Silverlight 2のSDKにはSilverlightランタイムとは別のパッケージです。 あなたからそれをインストールすることができますhttp://silverlight.net/GetStarted~~V

Silverlight SDKをインストールする

また、Silverlight 2の開発者向けランタイムを含むVisual Studio 2008 SP1のダウンロード、のためのSilverlightのツールの一部です。 System.Windows.Controls.dllとSystem.Windows.Controls.Data.dll:Silverlight 2のSDKには2つのコントロールのdllを追加します。

System.Windows.Controls.dll

反射鏡のSystem.Windows.Controls.dll

同じ2つのCLR名前空間にカレンダー、DatePickerの、GridSplitterは、TabControlの、およびそのサポートクラス、::System.Windows.Controlsアセンブリは、主に4つのコントロールを追加します。System.Windows.Controls&System.Windows.Controls.Primitives、で最もランタイム制御また住んでいる。 System.Windows.Controls名前アセンブリ内のすべてのコントロールは、xmlns"CLR名前空間:System.Windows.Controls、アセンブリ= System.Windows.Controls"にあり、通常、XAML以下に示すように、"基礎"xmlns接頭辞を使用します。

<ユーザーコントロール
xmlns名前:基本="CLR名前空間:System.Windows.Controls、アセンブリ= System.Windows.Controls"
xmlns名前= http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns名前:X = http://schemas.microsoft.com/winfx/2006/xaml
X:クラス="MySLApp1.Page"
幅="640"高さ="480">
<StackPanel x:Name="LayoutRoot" Background="White">
<basics:Calendar> </基礎:カレンダー>
</ StackPanelを>
</ UserControlを>

System.Windows.Controls.Data.dll

System.Windows.Controls.Dataアセンブリは、すべて巨大なDataGridコントロールとちょうどランタイムアセンブリSystem.WindowsおよびSDKのような同じ2つのCLR名前空間、System.Windows.Controls&System.Windows.Controls.Primitives、へそのサポートクラスを追加しますアセンブリSystem.Windows.Controls。

反射鏡のSystem.Windows.Controls.Data.dll

System.Windows.Controls.Dataコントロールは(今のところ単にデータグリッド)のxmlnsにある"CLR名前空間:System.Windows.Controls、アセンブリ= System.Windows.Controls.Data"、そして通常は、"データ"xmlns接頭辞を、使用としてXAML以下に示す:

<ユーザーコントロール
xmlns名前:データ=、"CLR名前空間:System.Windows.Controls、アセンブリ= System.Windows.Controls.Data"
xmlns名前=のhttp://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns名前:X = http://schemas.microsoft.com/winfx/2006/xaml
X:クラス="MySLApp1.Page"
幅="640"高さ="480">
<StackPanel x:Name="LayoutRoot" Background="White">
<data:DataGrid> </データ:データグリッド>
</ StackPanelを>
</ UserControlを>

ツールキットは、制御

Silverlightツールキットは、まだあなたからインストールすることができます別の独立したパッケージですhttp://silverlight.net/GetStarted~~V

Silverlightのツールキット

あなたは下からも直接それをインストールすることができますToolkitのホームページhttp://www.codeplex.com/Silverlight

一度インストールすると、Silverlightツールキットは、4つのより多くのコントロールアセンブリを追加します。

Silverlightのツールキット

各アセンブリは、その下に新しいxmlns接頭辞とコントロールのセットが導入されています:

  • System.Windows.Controls.dll
    • xmlns名前: コントロール ="CLR名前空間:Microsoft.Windows.Controls、アセンブリ= Microsoft.Windows.Controls"
    • メインコントロール:AutoCompleteBox、DockPanelは、エキスパンダー、HeaderedContentControl、HeaderedItemsControls、ラベル、ツリービュー、Viewboxの、WrapPanel
  • System.Windows.Controls.Input.dll
    • xmlns名前: 入力 ="CLR名前空間:Microsoft.Windows.Controls、アセンブリ= Microsoft.Windows.Controls.Input"
    • メインコントロール:NumericUpDownの、ButtonSpinner
  • System.Windows.Controls.Theming.dll
    • メインコントロール:ImplicitStyleManager、テーマ(具体的なテーマのクラスがテーマのディレクトリの下にアセンブリに実装されている)
  • System.Windows.Controls.DataVisualization.dll
    • メインコントロール:チャート、[種類|日時|リニア]アクシス、[バブル|バー|コラム|ライン|散布図|パイ]シリーズ

スクリーン下の4つのツールキットのアセンブリを使用してSilverlightアプリケーションを示しています。

Visual Studioのツールキットのアプリケーション

デザイナーのサポート

マイクロソフトから二Silverlightのデザイナーは、Visual Studio 2008 SP1とExpression Blend 2 SP1です。 Visual Studio 2008のSP1(VS9)のデザイナサポートには、ツールボックスアイコンおよびIntelliSenseについて主に、上記のスクリーンショットに示すようになります。 Blend 2のためのデザイナサポートが説明のように、メタデータの登録については、ほとんどの場合、カテゴリ、ブラウズ可能、ToolboxBrowsableなどの属性は、次のスクリーンショット以下で示される:

ブレンドのツールキットのアプリケーション

ランタイムとSDKコントロールのデザイナサポート

下のスクリーンショットは、SilverlightランタイムとSDKコントロールのデザイナサポートを示しています。

  • のVisual StudioのランタイムとSDKコントロールのツールボックスアイコンとIntelliSenseを持っています。

Visual Studioの

  • ブレンドはランタイムとSDKコントロールの豊富なサポートを(アイコン、カテゴリ、説明、拡張された/インライン/ダイアログエディタなど)があります。

ブレンド

ランタイムおよびSDKのコントロールの設計時のアセンブリは、Silverlight SDKでインストールされます:

SilverlightのSDK

  • System.Windows.dllのランタイムコントロールのSystem.Windows.VisualStudio.Design.dll
  • System.Windows.Controls.dllのSDKコントロールのSystem.Windows.Controls.Design.dll&System.Windows.Controls.xml
  • System.Windows.Controls.Data.dllのSDKコントロールのSystem.Windows.Controls.Data.Design.dll&System.Windows.Controls.Data.xml

我々は反射鏡でそれらの設計のdllを開くと、我々は、彼らは、Visual Studioのツールボックスアイコンを提供するよりもはるかに他をしないことがわかります。

反射鏡のSystem.Windows.VisualStudio.Design.dll

反射鏡のSystem.Windows.Controls.Design.dll

反射鏡のSystem.Windows.Controls.Data.Design.dll

メタデータの登録、またブレンドによって表示される素敵なアイコンはありません。 したがって、Visual StudioとBlendのランタイムとSDKコントロールの豊富なデザイナーのサポートは、実​​際には代わりにそれらのコントロールの設計アセンブリのため、設計者自身が実装されています。 これはタイトなツール(VS9とBlend2)とコントロール(ランタイムおよびSDKコントロール)間の結合を作成します。

ツールキットのコントロールのデザイナサポート

一方、Toolkitのコントロールのデザイナサポートが完全にデザイナの機能拡張フレームワーク上に構築されたツールキットの設計アセンブリによって実装されます。

Silverlightツールキットの設計のDlls

あなたは、ツールキットの設計時の機能と、以下の記事から、その実装についての詳細情報を得ることができます。

結論

だから我々は、出荷のSilverlightコントロールの3台の車を持っている。

  • Toolkitは、上のオープンソースですCodeplexのと船数ヶ月ごとに。 これは、"デザイナーや開発者のためのすぐに新しい機能を追加し、コミュニティにアイデアやバグレポートを提供することによって形状の製品開発を支援するための効率的な方法を提供する。"することを可能に
  • よく、焼き広く採用され、成熟した品質のバンドに到達しているコントロールでは、SDKにそれらを移動することがあります。
  • 時間をかけてSDKのコントロールの一部は、Silverlightランタイムに合流する可能性があります。

Silverlightは、Webおよびデスクトップ開発テクノロジー(言語、プラットフォーム、ツール等)、統一ウェブとデスクトップの融合、およびWebクライアントにデスクトップのパワーをもたらすことで、Web開発に革命をもたらしました。 Silverlightツールキットのチームは、継続的かつ積極的に豊かとSilverlightプラットフォームを強化だけでなく、新しい柔軟な、共同作業とオープンソースエンジニアリングモデルを開拓し、Microsoftの内部アジャイルISVのようなものです。 アイデアがで開始されたショーンバークスコットガスリーショーンのブログポストで説明されているように、 コントロールフリーク