既存のイベント ハンドラー メソッドへのフック
Microsoft Expression Blend は、グループでの開発を考慮して設計されています。多くの場合、ソフトウェア開発チームは、ユーザー インターフェイス (UI) を開発するデザイナーと、UI のバックグラウンドで動作するコードを開発するプログラマに分かれています。デザイナーは、さまざまなイベント ハンドラー メソッドを追加した開発者から、UI からフックするための変更された分離コード ファイルを受け取ることがあります。この作業を Expression Blend で行えます。
イベント ハンドラーのコード、およびコードを使用せずに Expression Blend アプリケーションにインタラクティビティを作成する方法については、「イベントに応答するコードを記述」を参照してください。
分離コード ファイルに含まれている既存のイベント ハンドラー メソッドにフックするには
イベント ハンドラー メソッドを含む最新の分離コード ファイルであることを確認してください。Windows エクスプローラーを使用して、ファイルをプロジェクト フォルダーにコピーするか、プロジェクト全体をコピーすると、最新のファイルをコピーできます。
注意 : 分離コード ファイルは、イベント ハンドラーをフックする Extensible Application Markup Language (XAML) ファイルと一致している必要があります。たとえば、XAML ファイル Window1.xaml は、XAML ファイルの x:Class 名が分離コード ファイルの名前空間およびクラス名と一致する場合に、Window1.xaml.cs という分離コード ファイルと一致します。
たとえば、XAML ファイルで次のようになっているとします。
x:Class="myProject.Window1"
分離コード ファイルは次のとおりです。
namespace myProject { public partial class Window1
Expression Blend でプロジェクトを開きます。
[プロジェクト] パネルでドキュメント (Window1.xaml など) をダブルクリックして開きます。
ドキュメントが編集用に開きます。アートボードの右側の [デザイン] タブをクリックし、[デザイン] ビューを表示していることを確認してください。
[オブジェクトとタイムライン] パネルで、既存のイベント ハンドラー メソッドにフックするオブジェクトを選択します。たとえば、ボタンをクリックしたときに四角形のオブジェクトを動かす場合は、Button オブジェクトを選択します。
オブジェクトの名前の背景が反転表示され、オブジェクトが選択されたことを示します。
[プロパティ] パネルの [イベント] をクリックします。
選択したオブジェクトに使用できるすべてのイベントの一覧がアルファベット順に表示されます。
注意 : プロジェクトが一時的な状態にある場合、イベントは表示されません。たとえば、新しく作成したプロジェクトは、[ファイル] と [すべて保存] をクリックするまで一時的な場所に格納されます。プロジェクトを保存すると、[イベント] パネルにイベントを表示し、選択できます。
ヒント : イベントの説明を見るには、イベントの名前の上にポインターを置きます。イベントのツールヒントが表示されます。使用可能なイベントとその説明の一覧については、「コントロール、プロパティ、およびイベント リファレンス」を参照してください。
フックするイベントのテキスト ボックス内をクリックし、分離コード ファイルのイベント ハンドラー メソッドの名前を入力します。入力したら、Enter キーを押して、フォーカスをテキスト ボックスから外します。
注意 : メソッド名は、分離コード ファイルから [イベント] パネルにコピーして貼り付けることをお勧めします。そのイベント名が分離コード ファイルに存在しない場合、Expression Blend により新しいイベント ハンドラー メソッドのコードが生成されます。つまり、Expression Blend の [イベント] パネルで既存のイベント ハンドラー メソッド名を間違って入力すると、その名前を使用して、分離コード ファイルに新しいメソッドが作成されます。このため、入力後は分離コード ファイルに空のイベント ハンドラー メソッドがないことを確認してください。
ファイルを保存し (Ctrl キーを押しながら + S キーを押します)、アプリケーションをテストして (F5 キーを押します)、思ったとおりに動作することを確認します。
Copyright ©2011 by Microsoft Corporation. All rights reserved.