かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

MVVM

MVVMの小さなサンプル サケ弁タイマー2

1つ前のサケ弁タイマーのサンプルですが、Modelに該当する部分をid:anis774さんのコードをマルパクリしていたのをReactive Extensions使うように書き直してみました。以下からダウンロードできます。 SakebenTimer2.zip 因みにModel部分のコードだけ以下に…

MVVMの小さなサンプル サケ弁タイマー

id:anis774さんが、勉強のために作ったMVVMの小さなサンプル焼き弁タイマーというアプリをugaya40さんがこっそり作ってるMVVMのインフラのLivet(まだ作りかけ)とExpression Blend SDKのBehaviorとかを駆使して作りなおしてみました。 ModelとViewのXAMLは、…

非実在コマンドパターンを使う場合はExpression Blendを使いましょう

先日考えた、非実在コマンドのパターン(以下のリンク)ですが残念なことが1つありました。 MVVMとコマンドはどこへ向かっているのか それは、Visual Studio 2010のデータバインディングビルダーで仮想的に作ったコマンドのプロパティを認識してくれないと…

MVVMとコマンドはどこへ向かっているのか

ということで、最近MVVMパターンでコマンドのプロパティをいちいち実装するのがめんどくさいと思っている今日このごろです。 ということで、ちょっと試行錯誤してみました。コマンドのプロパティは要はバインドから取得できればいいだけで実在しなくてもいい…

MVVMパターンでVMからVを操作する Prism編

Prismをダウンロードして、MVVMのサンプル実装を見てるとMVVMパターンなのにダイアログ出したりしてたので、どうやってるか見てみたら、便利なクラスが用意されてました。定義されているアセンブリは Microsoft.Practices.Prism.Interactivity.dll です。 使…

Prism 4.0 Drop9が超素敵な感じになってる

Composite Application Guidanceとして知られる通称Prismですが、暫く見ない間にPrism 4.0 Drop9というところまでいってました。 こいつの凄いところは、今までDIコンテナとしてはUnityを使ってましたが、MEFが使えるようになっているところが非常に素敵です…

T4 TemplateでViewModelを生成する その3「Commandにも対応」

前のやつにCommandも定義出来るように追加してみました。 namespace VMDsl { using System.Collections.Generic; // 名前空間 public class NSDef { public NSDef() { this.Classes = new List<ClassDef>(); } public string NS { get; set; } public List<ClassDef> Classes { g</classdef></classdef>…

T4 TemplateでViewModelを生成する その2「DSLちっくにする」

前回たたき台を作ったMVVM生成のためのT4 Templateですが正直あんまり楽になった気がしないです。何故かというと、クラスのメタデータの定義が非常に冗長な感じになってたからだと思います。 1プロパティしかないクラスを定義するだけで、20行以上も書かな…

T4 TemplateでViewModelを生成する その2「DSLちっくにする」

前回たたき台を作ったMVVM生成のためのT4 Templateですが正直あんまり楽になった気がしないです。何故かというと、クラスのメタデータの定義が非常に冗長な感じになってたからだと思います。 1プロパティしかないクラスを定義するだけで、20行以上も書かな…

T4 TemplateでViewModelを作る

ちょいと作ってみた。 これをひな形にやっていけばいかなぁ。もっといい方法とかあるよ!って人は教えてください。 ClassDef.ttinclude とりあえずクラスのメタデータを定義するためのクラス群 <#+ // 名前空間 class NSDef { public string NS { get; set; …

MVVMパターンでVMからViewを操作したい くどい?

何回もこのBlogで使ってるタイトルなので、そろそろクドイ感じもしますが、尾上さんのBlogに素敵なエントリが公開されてました。 http://ugaya40.net/wpf/mvvm_viewmodel_to_vew.htmlBehaviorってやっぱり素敵ですよね。 こんな風に綺麗にまとめたいな。

MVVMパターンでVMからVを操作する方法 再考

えムナウさんが考えてくれた方法は、確かに素敵だけど、コードを書く量が増えていってしまう。 http://blogs.wankuma.com/mnow/archive/2010/09/20/193090.aspx http://d.hatena.ne.jp/griefworker/20100922/how_to_use_view_function_in_viewmodel というこ…

Expression BlendのMVVMサポート機能とMEFの連携

Expression blendを見てると、MVVMをサポートした形のUserControlのテンプレートがあります。こいつは以下のようなコードを作成してくれます。

MVVMパターンでViewModelからスムーズにViewをアニメーションさせる方法

Model View ViewModelパターンを使ってると、ViewModelのアクションの後にViewをアニメーションさせたいということをやろうとすると、ViewModelからViewへ依存をさせないといけないのか・・・?とか、ちょっと悩んでしまいます。ViewModelからイベントを通知…