Silverlight アプリケーションでのハイパーリンクの作成
Microsoft Silverlight 1.0 アプリケーションでのハイパーリンクの作成は、Windows Presentation Foundation (WPF)、アプリケーションでのハイパーリンクの作成とは若干異なります。Silverlight 1.0 アプリケーションでのすべての対話と同様に、ユーザーの操作に応答するイベント ハンドラ メソッドが作成され、window オブジェクトの location プロパティが新しい URL に設定されます。
Silverlight 1 アプリケーションでハイパーリンクを作成するには
Silverlight 1.0 プロジェクトの XAML メイン ドキュメントで、[ツールボックス] の Canvas コントロールを選択し、アートボードにキャンバス オブジェクトを描画します。
[オブジェクトとタイムライン] でキャンバス オブジェクトを右クリックし、[名前変更] をクリックします。「MyHyperlink」など、キャンバス オブジェクトの新しい名前を入力します。
MyHyperlink オブジェクトを選択したままの状態で、[プロパティ] パネルを開きます。[共通プロパティ] で、Cursor プロパティを Hand に設定します。ユーザーがポインタを MyHyperlink キャンバス オブジェクト上に移動すると、ポインタが手の形に変わります。
MyHyperlink オブジェクトをダブルクリックして、アクティブなオブジェクトにします。キャンバスの周囲に黄色の境界ボックスが表示され、アクティブなオブジェクトとして示されます。新しいオブジェクトは、アクティブなオブジェクトの子オブジェクトとして追加されます。
[ツールボックス] から TextBlock コントロールを選択し、テキスト ブロック オブジェクトを MyHyperlink オブジェクトの内部に描画します。
F2 キーを押して、テキスト編集モードであることを確認します。テキスト ブロック内のコンテンツを [リンク] に変更します。Esc キーを押してテキスト編集モードを終了します。
[プロジェクト] パネルの [ファイル] で、XAML ドキュメントのコードビハインド ファイルをダブルクリックします。たとえば、Page.xaml という名前の XAML ドキュメントを編集する場合、Page.xaml.js ファイルをダブルクリックします。コードビハインド ファイルが Expression Blend 2 の内部の JavaScript エディタで開きます。
次のようなイベント ハンドラをフックするコード行の例が既に存在します。
rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
そのコード行の下に次のコードを追加します。
if (null != this.control.content.findName("MyHyperlink")) this.control.content.findName("MyHyperlink").addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleHyperlink));
このコードは MyHyperlink という名前のオブジェクトをテストし、そのオブジェクトが存在する場合は、MouseLeftButtonDown イベントに応答する handleHyperlink という名前のイベント ハンドラ メソッドを追加します。
コードビハインド ファイルには、handleMouseDown という名前のサンプル イベント ハンドラ メソッドが既に存在します。handleLoad メソッドの終わりには、最後の中かっこ (}) の後にコンマ (,) がありますが、handleMouseDown メソッドの最後の中かっこの後にはコンマがないことに注意してください。これは、handleMouseDown が宣言されている最後のメソッドであるためです。新しいメソッドを追加するときは、最後のメソッド以外の各メソッドの最後の中かっこの後に必ずコンマを追加してください。
次のイベント ハンドラ メソッドを、なるべく handleMouseDown イベントの前に追加します。
handleHyperlink: function(sender, eventArgs) { window.location = "Http://www.microsoft.com"; },
このメソッドは、ユーザーが MyHyperlink キャンバス オブジェクトの内部でマウスの左ボタンをクリックしたときに応答し、ブラウザを Http://www.microsoft.com Web サイトにリダイレクトします。
F5 キーを押してアプリケーションをテストします。[リンク] テキストをクリックして、リダイレクトされるかどうかを確認します。