えムナウ Blog

えムナウ の なすがまま

目次

Blog 利用状況

ニュース


follow mnow at http://twitter.com


えムナウのプログラミングのページ

INETAJ

書庫

日記カテゴリ

ギャラリ

ViewModelDiagram 1.1.0.0 に更新

ViewModelDiagram 1.1.0.0 をUPしました。
http://www.mnow.jp/tabid/220/Default.aspx

今回の更新で以前の vmcd ファイルや tt ファイルと互換性がなくなっていますので注意してください。

更新点は以下の通りです。

1.0.0.0 => 1.0.1.0
ViewModel にプロパティがないときにエラーになるのを修正、各メソッド間の空行を修正。

1.0.1.0 => 1.1.0.0
Prism フレームワークに対応し、フレームワークなしを選ぶとちょっとのコーディングで各フレームワークに対応可能。
少しずつ日本語化。

0)今までのバージョンをインストールしてあればアンインストールしてください。
 今回の vsix をインストールします。

キャプチャ

キャプチャ2

 

1)MVVM Light Toolkit や Prism などのフレームワークでプロジェクトを作成します。

2)出来上がったプロジェクトのViewModelフォルダに新しい項目 ビューモデルダイアグラム を追加します。

vmcd ファイルと tt ファイルが作成されます。

キャプチャ3

3)vmcd ファイルを開いてフレームワークのプロパティでフレームワークを選択します。

image

4)ツールバーの ViewModel を Drag & Drop します。

5)Aggregation をクリックして ViewModel の管理をする ViewModel間 で Drag & Drop します。

6)必要なプロパティを作成します。

7)保存後、ttファイルを右クリックしてカスタムツールの実行を選択します。

8)tt ファイルの下に ViewModel1.Generated.cs などの cs ファイルができます。

9)フレームワークのプロパティで None を選択した場合は以下の Livet の例のように ViewModelDiagram1.cs など名前で選択した vmcd ファイルの拡張子を cs に変えたコードファイルを追加します。
(Livet はこちらを参照してください。 http://ugaya40.net/developenviroment/livet.html )

image

10) ViewModelDiagram1.cs の中身はフレームワークに合わせて以下のようにコーディングします。
(このコーディングは MVVM Light Toolkit や Prism はあらかじめされています)
Livet の場合はこのようにコーディングします。

namespace VmcdSample.Livet

{

    public partial class ViewModelDiagram1 : global::Livet.ViewModel

    {

        public virtual void Cleanup()

        {

        }

 

        protected void RaisePropertyChanged<T>(string propertyName, T newValue, T oldValue, bool broadcast)

        {

            base.RaisePropertyChanged(propertyName);

        }

 

        public class RelayCommand : global::Livet.Command.DelegateCommand

        {

            public RelayCommand(System.Action execute, System.Func<bool> canExecute)

                : base(execute, canExecute)

            {

            }

        }

 

        public class RelayCommand<T> : global::Livet.Command.DelegateCommand<T>

        {

            public RelayCommand(System.Action<T> execute, System.Func<T, bool> canExecute)

                : base(execute, canExecute)

            {

            }

        }

    }

}

 

投稿日時 : 2011年5月4日 18:01