タグ

Livetに関するJHashimotoのブックマーク (4)

  • Livetによる画面遷移と選択要素受け渡しのサンプル - 周回遅れのブルース

    MVVMパターンでよく問題となるのが、画面遷移 の問題です。 単一画面であれば、View と ViewModel をバインド機構を使って疎結合にできるため、なんら問題は生じませんが、画面遷移を行う場合、ViewModel から Window を起動すると View - ViewModel 間で密結合が発生します。 また View のコードビハインドで画面を起動すると、実装が複雑化するのに加え、View に依存する分 MVVM の利点であるテスト容易性が失われます。疎結合を維持しテスト容易性を保持したまま、画面遷移を行う方法はあるのでしょうか?そこで便利なのが MVVM インフラである Livet のメッセンジャー機能です。 これは Livet 特有の機能でして、ViewModel から View に対し各種メッセージを送信でき、またどのビューを対象とするか指定する必要もなく、疎結合を保持し

    Livetによる画面遷移と選択要素受け渡しのサンプル - 周回遅れのブルース
  • MVVMを使用した場合のモーダルダイアログの表示とModelの参照の渡し方について

    Livetユーザーです。 私はメッセンジャーを使い、ViewModel1 が ViewModel2 のインスタンスを生成し、TransitionInteractionMessageAction を使って View を起動しています。これなら View と ViewModell を疎結合にでき、ビューモデル生成を含めたテストが容易になります。肝要部分のコードを挙げれば以下のようになります。 まず ViewModel のコマンドからコールされるメソッドは以下のようになります。子画面のビューモデルのインスタンスを生成し、メッセンジャーにパラメータで渡します。 public void Edit() { using (var vm = new SubViewModel(this.Person)) { Messenger.Raise(new TransitionMessage(vm, "EditCom

    JHashimoto
    JHashimoto 2015/03/19
    "先日もMVVMパターンでのサブ画面起動に関する質問があり、Modelの受け渡しも含めて、たぶんこの辺りの実装が判らない方多いのではと思い、サンプルプロジェクトを作ってみました。何かの参考になれば幸いです。"
  • Livetサンプル用、プロパティ定義コードスニペット - Qiita

    初めに MVVMパターンのシンプルなサンプル(Livet + ReactiveProperty)を見て勉強したが、プロパティの定義が面倒。 このサンプルでは、「ReactiveProperty」を使えばもっと簡単にプロパティを定義できるのになぜかSampleを見るとSetのところが結構な行数を書かなければいけない。 Livet用のコードスニペットを作成した。 <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Livet プロパティ作成</Title> <Shortcut>mylprop</Shortcut> <D

    Livetサンプル用、プロパティ定義コードスニペット - Qiita
    JHashimoto
    JHashimoto 2015/02/23
    “このサンプルでは、「ReactiveProperty」を使えばもっと簡単にプロパティを定義できるのになぜかSampleを見るとSetのところが結構な行数を書かなければいけない。 Livet用のコードスニペットを作成した。”
  • Livetで始めるWPF(ざっくり)入門 - Qiita

    この記事は何? WPF入門記事です。が、巷の入門記事見たく深堀りはしません。アプリを作れるようになるのが目標です。そのため色々と楽をします。具体的に言うとLivetの使用を前提とします。ちなみにLivetはBlend SDKというものを含んでますので自動的にBlend SDKの使用も前提とします。というかLivetはともかくとしてBlend SDKなしのWPF開発はマゾゲーだと思います。 あ、あと言語はC#を使います。ただ.NETですので別にC#じゃないとダメってことではないです。C#は最新のC#5.0を前提にしていますがまあ別に古くても大丈夫だと思います。 WPFとは? GUIアプリを作るためのやつです。WinFormsの次のやつです。8年前に登場した技術なのに未だにWinFormsで開発してたりする人が多いとか多くないとか聞きます。恐ろしいデスネ。WinFormsはWindownAPI

    Livetで始めるWPF(ざっくり)入門 - Qiita
    JHashimoto
    JHashimoto 2015/02/15
    “そのため色々と楽をします。具体的に言うとLivetの使用を前提とします。ちなみにLivetはBlend SDKというものを含んでますので自動的にBlend SDKの使用も前提とします。”
  • 1