開発記その 8 - T4 で画面遷移用の URL クラスを生成 -

画面遷移で XAML 名をハードコードするのは嫌だったので、プロジェクトの中にある Page を探し出してクラスを作る T4 を書いてみた。生成するクラスは以下のような感じで Pages クラスと PagesWrapper の二つ。

Pages クラスがルートでフォルダはネストクラスで定義している。で親クラスにそのネストクラスのインスタンスを公開するプロパティを持っています。各 Page の XAML は定数フィールドの文字列と URI 型プロパティ、あと引数をつけらるようにメソッドが作成されます。

PagesWrapper は Pages のインスタンスの保持と XAML のリソースで定義できるように用意してます。


コードで呼び出すときは以下のような感じ。


コードで書くときに、インテリセンスが効いてくれるので楽ちんです。ただし、 UriMapper を定義して Cool URI とかってのはできないので、 戻るボタンとか使わないとか、ベタベタの URL がみえてても問題ないって場合だけですね。ちなみに今回は JournalOwnership を OwnsJournal にしてるのでブラウザの戻るボタンは使えないので問題なしです。


※今回のチェックイン
http://moneybook.codeplex.com/SourceControl/changeset/changes/55717