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

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をダウンロードして参照してください。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30