Silverlight 4の概要と、開発環境の構築

2010年6月7日(月)
PROJECT KySS

Silverlight 4で追加・強化された機能

Silverlight 4では、ビジネス・アプリケーション、メディア・アプリケーション、ブラウザ外実行アプリケーション構築のための機能が強化されています。 次に、そのうちのいくつかを列記します。ただし、これらの新機能のすべてについて筆者がサンプルを作成・動作させて確認しているわけではありません。

(1)コントロールの追加・強化

いくつかのコントロールが追加・強化されました。 RichTextBox コントロールでは、リッチテキストの表示、入力、編集が可能になります。文字や段落の書式への適用、リンク先の表示、インライン画像の追加ができるようになりました。
Viewboxコントロールでは、子要素をViewbox のサイズに合わせて拡大縮小することができます。
WebBrowserコントロールを使うと、ブラウザ外実行でHTMLコンテンツを表示することができます。
WebBrowserBrushコントロールは、WebBrowserコントロールからのHTMLコンテンツの描画に利用することができます。

(2)アウト・オブ・ブラウザの強化

ブラウザ・アプリケーションで利用できない機能は、アウト・オブ・ブラウザで可能になります。

実行時のウィンドウのサイズ変更、オフライン・デジタル著作権管理 (DRM)、WebBrowserコントロールでのHTMLの表示、NotificationWindowクラスを用いた通知エリアへのポップアップ・アラートの表示などです。もちろん、アウト・オブ・ブラウザ・アプリケーションのデバッグもサポートされています。

高い信頼性のあるアプリケーションも構成することができます。例えば、管理者権限で実行されているアウト・オブ・ブラウザ・アプリケーションでは、ファイルの読み込み、ユーザー・フォルダへの書き込み、キーボード制限なしのフルスクリーンモードを使用できます。信頼性のあるアプリケーションでは、ウィンドウのタイトルバー、ボーダーの制御や、移動、拡大縮小、ウィンドウを閉じるといった、ユーザー・インタフェースのカスタマイズが可能になります。

なお、アウト・オブ・ブラウザ・アプリケーションのTrustedモードでは、インストール時に、セキュリティの警告が表示されます(図3、次回以降解説)。

図3:NotificationWindow クラスを用いた通知エリアへのポップアップ・アラートの表示(クリックで拡大)

(3)ユーザー・インタフェースの強化

Silverlight 4には、ドラッグ&ドロップをサポートするAPIが導入されています。ローカルフォルダのファイルをSilverlightコンテンツ領域内にドラッグして処理することができます。

また、clipboard オブジェクトへのアクセスをサポートするAPIも導入されました。共有するクリップボードオブジェクトに、Unicodeのテキストに限って、情報を取得あるいは設定することができます。

マウス操作についても、MouseRightButtonDown および MouseRightButtonUp イベントが追加されました。

Silverlightアプリケーション上で右クリックすると、デフォルトでは、[Microsoft Silverlight の構成] ダイアログ・ボックスが開きますが、このビヘイビアを変更してユーザー独自のメニューを表示することができます(図4、次回解説)。また、マウスホイールによる、画像の拡大縮小、テキストのスクロールも可能になっています。

フルスクリーンモードのサポートも強化されています。 アウト・オブ・ブラウザのTrustedモードでは、DataGridコントロールで表示したデータの編集が可能になっています。

さらには、コンテンツの方向を設定し、アラビア語などの右から左へと読んでいく言語でのレイアウト機能が強化されています。流れの方向はFlowDirectionプロパティで設定します。

図4:マウスイベントとクリップボード・アクセス。(上)デフォルトの場合、(下)ユーザー独自のメニューを実装した場合。(クリックで拡大)

(4)メディア対応

メディア対応としては、Webカメラやマイクもサポートされ、 オーディオ デバイスまたはビデオ デバイスからの入力されたソースをキャプチャできるようになっています。
また、ダウンロード・購入・サブスクリプション等に利用できるオフラインでのDRMがサポートされました。

(5)印刷機能の追加

Silverlight 3ではブラウザの印刷機能を用いていましたが、Silverlight 4からはPrintDocument クラスを使用して、任意のオブジェクトを印刷することができるようになりました。

(6)携帯端末への対応

Windows Phone 7シリーズでは、Silverlightがサポートされます。Silverlight 3のDeep Zoom等もサポートされます。ただし、現時点での開発言語はC#で、Visual Basicは非対応です。

(7)Expression Blendの機能追加

Expression Blendでの操作にかかわる機能も追加されています。

一例をあげると、PathListBox コントロールを用いると、Blend上で作図したレイアウトパスに沿って、1個以上のUIElementを自動的にレイアウトすることができます(第10回で解説)。また、トランジション・エフェクトが追加されています。利用可能なエフェクトは、[States][Add state group]で追加できるVisualStateGroupのDefault transitionの[fx]ボタンをクリックして表示されるドロップダウンリストから確認することができます。

(8)データ処理関連機能の強化

業務系アプリケーションでは特に使用頻度の高いDataGridが改良され、行単位でのコピー&ペースト機能が拡張されました。

また、XMLデータ処理については、Silverlight 4から、XQuery 1.0 および XPath 2.0に基づくXMLパースが、System.Xml.XPath.dllでサポートされました。LINQ to XMLよりXPathに慣れている開発者にとってはプログラミングが楽になるでしょう。

以上、駆け足でSilverlight 4での変更点について述べましたが、これらは追加・強化された機能の一部にすぎません。詳しい情報については、Silverlight Documentationをダウンロードして参照してください。

四国のSOHO。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。1997年6月、Dynamic HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。最新刊は「Silverlight実践プログラミング」両名とも、Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。http://www.PROJECTKySS.NET/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています