イベント処理の概要

このページは WPF および Silverlight 2 に適用されます

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

Cc294567.alert_note(ja-jp,Expression.10).gifメモ :

Microsoft Silverlight 1.0 のイベント処理については、「Silverlight 1.0 の概要」および「Silverlight アプリケーションのストーリーボードを制御するボタンの作成」を参照してください。また、Silverlight でのスクリプト作成とマウス イベントの説明 (英語の可能性あり) も参照してください。

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

Expression Blend には、ユーザー入力やアプリケーションの変化にアプリケーションを反応させるために使用できる方法が 2 つあります。

  • トリガ   [組み合わせ] パネルの [トリガ] でトリガを構成します。トリガを構成するのに、XAML コードのプログラム方法や記述方法の知識は不要です。

    トリガを使用して、ユーザーがアプリケーションのオブジェクトと対話したとき、またはこれらのオブジェクトの状態が変化したときに、アニメーション タイムラインを開始、停止、一時停止、再開、削除、または最後まで進めることができます。状態の変化にトリガを設定して、プロパティ値 (背景色など) を変更することもできます。トリガの構成にコードを使用する必要はありません。Expression Blend の [デザイン] ビューですべてを行えます。詳細については、このユーザー ガイドの「トリガの概要」および「アニメーションの概要」を参照してください。

    Cc294567.alert_note(ja-jp,Expression.10).gifメモ :

    トリガは、Silverlight 2 プロジェクトではサポートされていません。

  • イベント ハンドラ   イベント ハンドラは、[イベント] パネルで設定します ([プロパティ] パネルで、[イベント] Cc294567.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(ja-jp,Expression.10).png ボタンをクリックします)。

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

トリガまたはイベント ハンドラの方法を使用してフックできるイベントの一覧については、このユーザー ガイドの「WPF イベント クイック リファレンス」を参照してください。

Cc294567.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る

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

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

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

Cc294567.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る

プログラミングの問題

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

Cc294567.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る