今度はASP.NETサーバーアプリケ-ションからSilverlightでUIを作ったところをコンポーネントとして読み込んでみる方法。
今度はVisual Studioの方からプロジェクトを作成。Silverlight Toolsがちゃんとインストールされていれば、テンプレートにSilverlightってのが追加されていると思います。
ASP.NET Webアプリケーションではなく、Silverlightアプリケーションで。これを作ろうとすると、このSilverlightアプリケーションを実行する環境としてのWebアプリケーションもしくはWebサイトが必要だよと言われるので(下図)、プロジェクトの種類でWebアプリケーションを選択します。
OKを押すとSilverlightのXamlが読み込まれたようなページが出ます。
で、テールボックスからボタンとかドラッグすればいいんだけど、なぜかできない(今のところ不明)ので、Xamlを直接書きます。しかしIntellisenseが効いているので、普通に簡単。
とりあえずCanvasを作って、それに名前をつけ、背景色を設定します。そしてその中にボタンを一つ配置。Clickイベントを書きます。「Click=」って書けば「新しい弁とハンドラの生成」みたいなものが出るので、そのままリターンキーを。
書いたXAMLコード。かんたんかんたん。
次にそのXamlファイルに関連づけられているcs(C#)ファイルにClickイベントを書きます。しかしながら書くのは動作だけ。今回はクリックされたら、CanvasのOpacity(透明度)を0.2にしちゃうコードを書きました。
では実行。F5を押すとWebサーバーが立ち上がります。作ったSilverlightのコンポーネントが読み込まれるので、ボタンをクリック。すると指定したCanvasのOpacityが変わったと思います。
別のaspxファイルから読む
次に、別のaspxファイルからこのSilverlightのUIコンポーネント(?)を呼ぶにはどうしたらよいでしょうか。
.NET Framework3.5から(たぶん)は「
今回はaspxで表示されている部分とそうでない(Silverlightの部分)がわかるように、ちょっとだけ文字を書いておきます。また「
プロジェクトの実行時のトップページがPropertiesで指定されているので、変更します(けっこううざい」
さて実行してみましょう。aspxファイルで書かれているところと、そうでないところがよくわかります。「