kumaryu日記
2009-12-29
_ 日記
休みだとあんまりNetwalkerいじらないので日記書かなくなっちゃう。
土日はあんまり何もしてない。タイムラインコントロールを作り込んでた感じ。
昨日は配信。ピアキャス関係のとあるサイトを作ってた。
サーバー側はともかく、クライアント側がめんどいよねぇといいつつSilverlight。Expression Blendをいじりまくる。
とりあえずIronRubyはSilverlight3時点ではあまり実用的でないので諦めてC#を使う。
しかしいざ書いてみるとC#悪くないじゃないですか。簡単簡単。そんなに複雑なことは全くやってないので当然と言えばそうなんだけどさ。
俺のC#の記憶がXNAなのが悪いようだ。ライブラリが豊富だとかなり印象がかわる。今のXNAはどうなんだろうな。いまだに3Dアニメーションするのに苦労するようだが。
Expression Blend上でソースの編集もできるんだが、Viemu使いたいのでVisual Studioで開いてみた。しかしプロジェクトが読み込めませんといいやがる。あれー?このインストールタイプではサポートされないとかなんとかいいやがるんですけど。
ExpressionのサブスクリプションについてるVisual Studioを普通に入れただけなんだが。困ったなぁ。調べても情報がみつからなかったので、その場は仕方なくExpression Blendだけで編集した。デバッグができなくてめんどい。
あとはそんなに困るところもなく。Expression Blend、バインディングとかも簡単にできて便利だな。むずいけど。これは手では書きたくないよ。
とかいいながら困った。
トップページの全部をSilverlightにするつもりなんだが、おしらせ部分を外部から読み込んできたい。おしらせ更新の度にxap更新とかめんどいので。
データとして文字列を取ってくるのは簡単なんだが、Flashみたいに簡易HTML描画機能とかなくて、簡単にできることと言えば素の文字列表示か、XAMLの読み込みくらいだ。つまりおしらせをXAMLで書けとな。
それはまあ諦めてXAMLで書いてもいいんだが、リンクを張るのがつらい。というのもリンクはHyperlinkButtonとか置かないといけなくて、そう簡単にテキストにインラインで流し込めるもんじゃないようだ。
どうもWPFの方だとTextBlockにインラインでHyperlink要素とかぶち込めるようなんだが、Silverlightには無いみたい。なんでだろう。
まあなんとも困ったものなんだが、あんまり悩まないことにしてそのままXAMLを読み込むようにした。困る時になってから困ればいいや。
よく考えたら簡易HTMLを受け取ってHyperlinkButtonとTextBlockに展開するコードを書いても良かったのかもしれないが、Rubyじゃないことを思い出したのでまあいいや。
あとXAMLの読み込みにApplication.LoadComponentを使ったらよくわからんけどXAML解析エラーが出てしまった。XAML解析エラーは詳しいエラーを吐いてくれないので困る。XamlReader.Loadを使ったら普通に読み込めた。なんだこれ。まあいいか。
昨日はそこまで。
今日はVisual Studioで開けない問題を調べてみた。というか解決しようと格闘してみた。
結果として全然だめだった。一旦ExpressionとVisual Studioをアンインスコして入れる順番かえてみたり、開発関係の他のアプリも全部消してから入れてみたりとかしても全然かわらん。
困ったので今一度情報を集めてたら、同じ状況の人のページをみつけたのでそれを参考にVisual Studio用のSilverlight Toolsを入れたらちゃんと読み込めた。え、おい、Silverlight Toolsが入ってなかったってこと?なんで?
納得はいかんが、とりあえず解決した。正しいのは、Visual Studio入れる、Visual Studio用Silverlight Toolsを入れる、Expression Studioを入れるの順番だったんだろうか。情報がこんだけ少ないのはサブスクリプション版だけの問題なのかなぁ、これって。
あとはその合間にタイムラインコントロールの続き。動きはほとんど出来たのでwxRubyのコントロールpぽくイベントを設定できるように…できるのかな?と思ってドキュメント見たらカスタムイベントの追加は簡単にできることが分かった。サンプルもあった。で、対応。
いまこんな感じ。タイムラインの中身とアプリケーション側はまだ全然別。タイムラインは置いてあるだけ。機能としては各ラインをドラッグして並びかえたり、四角をドラッグしてタイムライン上移動したり四角の端をドラッグしてサイズ変えたりすることができる。
さてこれをアプリと関連させなきゃいけないんだけど、ここからが大変だね。
あとはなんか寝た。夕方頃にちょっと寒くなってちょっとふとんに入ったら夜だった。3時間半程寝てしまっていた。
これから配信でもするか。