LayoutAwarePage.DefaultViewModel がアレな件

VS11 Beta の Metro Style App のテンプレートで自動生成される LayoutAwarePage の ViewModel が、ただの辞書なんですけど……
0
Ichiro Ota (太田 一郎) 🍜 @ichiohta

LayoutAwarePage.DefaultViewModel って Observable な辞書なわけですが、ViewModel の更新をかけるコマンドとかはどこに定義するのがいいんでしょうかね。#win8dev_jp

2012-05-05 16:26:14
尾上 雅則 @ugaya40

MetroStyleのテンプレートのViewModelは辞書であまりにもあれなので、それを活用しなきゃいけないとか考えない方が良いと思います

2012-05-05 16:28:33
Ichiro Ota (太田 一郎) 🍜 @ichiohta

@ugaya40 Common.LayoutAwarePage で生成されるデフォルトのやつがアレなので、どういう風にコマンドとかを実装することを意図しているんだろうという疑問をもったのですよ。

2012-05-05 16:30:27
尾上 雅則 @ugaya40

@ichiohta この実装の仕方はそもそもコマンドとか想定していないように見えます。いろんな意味で意図不明のやっつけ実装に見えます

2012-05-05 16:32:53
Ichiro Ota (太田 一郎) 🍜 @ichiohta

@ugaya40 http://t.co/0l5GjREA に目をとおしてみても、バインディングについての説明はあるんですけど、MVVM に関する説明って特にないんですよね。バインディングするためだけの仕組みとしてだけ使うことを意図してるっぽいのか?と。

2012-05-05 16:38:56
尾上 雅則 @ugaya40

@ichiohta プラットフォーム的にはどう見てもMVVM想定に見えますが、このテンプレートはそれを意図していないというだけだと思います。もとよりテンプレートに規定でできているPageがテンプレート内のコードを基底に持つとか、プラットフォームの想定通りのテンプレに見えません

2012-05-05 16:41:04
Ichiro Ota (太田 一郎) 🍜 @ichiohta

@ugaya40 RTM でもこのままだと微妙な感じだなぁ、と個人的にちょっと思います。このテンプレートで開発する人が増えると、CodeBehind で辞書をバリバリ更新するような実装(をする人)が増えそう……

2012-05-05 16:45:35
尾上 雅則 @ugaya40

@ichiohta さすがにプラットフォーム実装の意図が分かっている方のコードだと思えないので、まだ変わると信じています><。CodeBehindバリバリは構わないと思いますが、このコードは、、、まさにLayout関連コードを学ぶためだけのものに見えます

2012-05-05 16:48:02
Ichiro Ota (太田 一郎) 🍜 @ichiohta

@ugaya40 とりあえず、RTM でどうなるかちょっと注目ですね。それまでは当面、LayoutAwarePage をちょっと手直しして使うかな……

2012-05-05 16:54:18