月別アーカイブ: 2009年9月

咲-saki-とドカベン

完全な雑談です。 「咲-saki-」という漫画/アニメをご存じでしょうか?高校生が麻雀大会で全国決勝を目指すっていう話なのですが、「けいおん!」に近いというか、大会のナレータ役が「らき☆すた」のあれだったりと、なんか違和感がないので。DVDで見ていたりするのですが。いや、違和感がないのほうが普通じゃないですが(苦笑 さて、現時点で漫画のほうは読んではいませんが、アニメのほうはいわゆる萌え系の絵でストーリーも多少そんなところもあります。しかし、ん~、この高校大会って感触は、ひょっとすると、、、「ドカベン」に似ているのでは!?と思った人は、私だけではないハズハズハズ……私だけですかねぇ。 麻雀漫画ですから、役なり流れなり論理思考っぽいとろが出てきます。でも主人公の咲が嶺上開花で上がり捲るあたり、あの哭きの竜の彷彿とさせますが、あちらのほうは一人が戦う個人戦(つーか、やくざの世界だけど)。でも、 … 続きを読む

カテゴリー: 雑談 | 5件のコメント

Silverlight の UnitTest

これまでのテストをするためにUnitTestを使っていますが、所謂↓を使っています。 Silverlight Unit Test Framework http://code.msdn.microsoft.com/silverlightut/ ロジックだけであれば、NUnitとかMicrosoftが提供するTest Frameworkを使えばいいのですが、画面が絡むと途端に面倒になるので。 さて、この「Silverlight Unit Test Framework」ですが、ダミーでボタンをぽちぽち押してくれるようなタイプではありません。先のエントリを見ると分ると思いますが、他のUnitTestと同様にメソッドを羅列していきます。 なので、画面のフォーカス/アウトフォーカスみたいなイベントを取れません。 まあ、本当はそれで動かないと駄目なんですけど、試してみると画面の動きが違ったりして(特に間 … 続きを読む

カテゴリー: 開発 | コメントする

XAMLの動的バインド

さて、Silverlight+MVVMの話の続きです。 単純に xaml のコントロール名を使えば楽なのですが、MVVM に則るといちいち{Binding なんとか}を書かないといけません。Binding の構文は、定型といえば定型なのですが、View の中に乱立するのがいまいち解せません。 解せない理由はと言うと、 ・そもそも View と Model を分離して View はデザイナ、Model はプログラマ、と切り分けができるのではなかったか? ・View 自体は Microsoft Exprssion Blend を使って編集するわけだから、いちいち Binding の分が書いてあるのはどうかと思う。 ・間違って消しちゃったら、Binding は直すの大変。ここのコードを書くのはプログラマなんだから、Viewに手を加えるの問題あり。 というわけで、xaml のほうに Binding … 続きを読む

カテゴリー: 開発 | コメントする

Silverlight + MVVM モデルで DataGrid をバインドの落とし穴(その2)

落とし穴シリーズ(にするつもりは無いのですが)の続きです。 本当は、動的バインドの話を書こうと思ったのですが、ItemsSourceプロパティにバインドするときの注意を忘れてました。 DataGrid コントロールのItemsSourceプロパティには、配列やListコレクションなどが渡せます。最近はジェネリックの流行りが功を奏して(かな?)、Listを渡す場合が多くなっています。 実は IList と List の違いどころを間違えるとややこしいことになるのですが、それは別の機会には話します。型チェックのキャストでは List の方が不利なんです。型が2つあるからね。 さて、先日のDataGridのソースでは List を渡しました。 ページクラスのコンストラクタを改めてみてみると、次のようになっています。 ここでは、コントロールのグリッドに直接設定しているのですが、これは MyMode … 続きを読む

カテゴリー: 開発 | 2件のコメント

Silverlight + MVVM モデルで DataGrid をバインドの落とし穴

動的バインドの話を書こうと思ったのですが、DataGrid のバインドの落とし穴の件を書くことにします。 多分、検証結果を具体的にみるほうが「何故だめなのか?」がわかりやすいので。 先に注意しておきますが、ここに書くのは「やってはいけない」方法です。 さて、ItemSource プロパティにバインドする場合は、前回書いたように即時実行が行われます。 これを「楽だから」という理由で、DataContextを使ってコントロール自身にバインドしてみましょう。 xaml ファイルを次のように設定します。 DataContext=”{Binding DGridData, Mode=TwoWay}” しているところが、バインドです。 モデルクラスはこんな感じになります。 データグリッド本体に対してバインドするので、 public DataGrid DGridData のようにプ … 続きを読む

カテゴリー: 開発 | コメントする

Silverlight + MVVM モデルで DataGrid をバインド

昨日の続きです。 本当は「View の切替/換装ができる」ってのを書きたいのですが、その前にデータバインドのところを押さえないと訳がわからなくなるので、書いておきます。まあ、覚書ということで。 Silverlight にもグリッドで表示するための DataGrid コントロールがあります。Windows で言う DataGridView であったり、ASP.NET だと名前が違ったりと色々ありますが、まぁ似たような動きをします。 この DataGrid には、データベースから検索した DataTable や List のコレクションなどを指定して、自動的にグリッドに表示できます。 忘れちゃいけないのは「System.Windows.Control.Data.dll」を参照設定することですね。DataGridのコントロールは System.Windows.Control namespace … 続きを読む

カテゴリー: 開発 | コメントする

Silverlight MVVM の落とし穴

少し仕事のペースが落ち着いてきたので情報を流しておきます。 現在使っているフレームワークが SLExtensions の DLL を使っているので、なんじゃろ?という形で MVVM モデルってのがあるのことを知りました。以前から MVC モデルを利用しているし、.NET ラボの9月の勉強会(後ほど資料をアップする予定です)でも話しましたが、MVVM であろうと、MVC であろうと、「MV○」ってモデルには違いないので、最新って訳でもありません。 実装上はあれこれあるんですが、まぁ、タイトル通り「落とし穴」があるんです。 SLExtensionsを使ったM-V-VMパターン実装 http://d.hatena.ne.jp/coma2n/20090217/1234881006 を見ていくつかページを探っていきました。この方、業務用のアプリ作成に精通しているらしく MVC モデルの根本的なところ … 続きを読む

カテゴリー: 開発 | コメントする