Share via


イベントに応答するコードを記述

Microsoft Expression Blend は、ユーザー入力と対話できる豊富な機能を備えた Windows ベースのアプリケーションとユーザー インターフェイス (UI) の開発用に作られています。たとえば、アプリケーションで、ユーザーがマウスを移動したときにボールを動かすアニメーション タイムラインを起動する場合、Expression Blend にはその関係を構成するための機能があります。アプリケーションの状態そのものの変化に反応するようにアプリケーションを構成することもできます。

Expression Blend アプリケーションでのインタラクティビティの作成

ユーザーの入力やアプリケーションの変化にアプリケーションを反応させるために、イベント ハンドラーを使用できます。イベント ハンドラーは、[イベント] パネルで設定します([プロパティ] パネルの [イベント] Cc294567.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(ja-jp,Expression.40).png をクリックします)。

イベント ハンドラーを使用して、プロパティの設定やアニメーション タイムラインの制御以外の処理を含むプロシージャを実行できます。たとえば、別のオブジェクトに対するプロパティの設定、新しいドキュメントの読み込みや作成、数値計算を使用したオブジェクトのアニメーション化などの他のプログラミング ロジックを追加できます。イベント ハンドラー メソッドは、ドキュメントの分離コード ファイルの中に定義され、C# または Visual Basic .NET 言語で記述されています。たとえば、ドキュメント名が Window1.xaml の場合、使用するプログラミング言語に応じて、イベント ハンドラーは Window1.xaml.cs または Window1.xaml.vb ファイルに含まれています。

イベント ハンドラー メソッドへのフック

Expression Blend では、空のメソッドにコードを生成して、イベント ハンドラー メソッドを作成できます。Microsoft Visual Studio 2008 Standard Edition 以降がインストールされている場合は、Expression Blend によってプロジェクトが Visual Studio で開き、分離コード ファイルが自動的に開いて、このファイルに空のイベント ハンドラー メソッドが貼り付けられます。Visual Studio 2008 Standard Edition 以降がインストールされていない場合は、Expression Blend により、空のイベント ハンドラー メソッドがクリップボードにコピーされます。分離コード ファイルを手動で開き、メソッドを貼り付けることができます。詳細については、このユーザー ガイドの「新しいイベント ハンドラー メソッドの作成」を参照してください。

Expression Blend は、グループでの開発を考慮して設計されています。多くの場合、ソフトウェア開発チームは、ユーザー インターフェイス (UI) を開発するデザイナーと、UI のバックグラウンドで動作するコードを開発するプログラマで構成されています。さまざまなイベント ハンドラー メソッドを追加した開発者から、UI からフックするための変更された分離コード ファイルを受け取ることがあります。この作業を Expression Blend で行えます。詳細については、「既存のイベント ハンドラー メソッドへのフック」を参照してください。

プログラミングの問題

イベント ハンドラーを作成する場合、Windows ベース アプリケーションのプログラミング経験があると役に立ちます。これは、Windows Presentation Foundation (WPF) スレッド モデルと UI レンダリングのタイミングを扱うためです。たとえば、Label に表示されるテキストを更新し、他の計算を実行し、完了前に再び同じ Label のテキストを更新するイベント ハンドラー メソッドを作成する場合、最後の更新しか表示されません。このため、UI のレンダリングは、イベント ハンドラー メソッドの終了時に行われます。すべての処理は同じスレッドで実行されるので、アプリケーションは、メソッドが UI を更新している間はタイムアウトできません。複数の UI の更新と計算を行う WPF アプリケーションの作成方法の詳細については、MSDN Cc294567.xtlink_newWindow(ja-jp,Expression.40).png の WPF のセクションにあるスレッド モデル Cc294567.xtlink_newWindow(ja-jp,Expression.40).pngに関するトピック (英語の可能性あり) を参照してください。

Copyright ©2011 by Microsoft Corporation. All rights reserved.