f8g

Silverligt 2メモ

久々にSilverlightでもやってみたくてVisual Studio 2008 用 Silverlight Toolsをインストールしようとしたら、Visual Web Developerが必要、みたいなことを言われた。

使ったもの

開発は楽っぽいけど準備が面倒。Chironを使った方が準備は楽かも。

コード覚書

あ、何かVBだ。IronRubyとかは使えないんだろうか。

XAML

全部手書きかよ。

windowとdocument

そういったものはWindows.Browser.HtmlPageに用意されていて、それを使ってスクリプトのやり取りができる。DOMはIEっぽい。

Dim window As Browser.HtmlWindow = Browser.HtmlPage.Window
Dim document As Browser.HtmlDocument = Browser.HtmlPage.Document
Dim input As Browser.HtmlElement = document.CreateElement("input")

document.Body.AppendChild(input)
input.AttachEvent("onkeyup", AddressOf keyevent)
プロパティとメソッド

プロパティの取得, 設定にはGetProperty, SetPropertyを使う。Silverlightのオブジェクトも設定できるので、ブラウザ側からもコントロールできる、と思う。

Dim textbox As New TextBox
window.SetProperty("aaa", textbox)

ブラウザ側のメソッドを呼び出すときはinvokeを使う。

' Firebugのconsole.logを呼び出す
Dim console As Browser.ScriptObject = window.GetProperty("console")
console.Invoke("log", 1)

ビルド

SilverlightApplication1で作ったら、他のVisual Studioと同じように
\My Documents\Visual Studio 2008\Projects\SilverlightApplication1\SilverlightApplication1\Bin\Release
に出力される。使わなそうな言語関係のファイルとかも勝手に。

感想

VWD2008EEでコントロール作るのはちょっと面倒くさそう。.NETの一部を借りたくなったときに使ったりするのには便利かも。