Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

WPFとMVVMに関するairj12のブックマーク (11)

  • 「WPF/Silverlight/WindowsPhoneから WinRT まで見据えたリッチクライアント Model 設計」- RIA アーキテクチャ研究会 第2回セミナーで話してきました! - the sea of fertility

    RIA アーキテクチャ研究会 第2回セミナー話してきました。 RIA アーキテクチャ研究会 第2回セミナー http://atnd.org/events/21774 スライドはデモプロジェクトのソリューションと併せてご覧ください。 今回のテーマはModelオンリー。そして僕にしては珍しくでもデモプロジェクト中心です。スライドはデモプロジェクトと合わせてご覧ください。 個人的な事情で全ソースコード・全スライドは計26時間で作ったものなので、ソースにバグ残っていますし、汚いです。ただ今回限りのソースではなく今後リファクタを重ねて議論の土台にしていこうと思っているものなのでソースはbitbucketに公開しました。 デモプロジェクト デモプロジェクトリポジトリ https://bitbucket.org/ugaya40/twittersample スライド中で説明していますが、WPF4/Sil

    airj12
    airj12 2011/12/12
    UIを同期的にする限りではModel内で非同期処理を完結してしまうのが確かに楽そう / ありがたくソース見ます
  • 「MVVMパターンが必要な理由」啓蒙用資料公開 - the sea of fertility

    MVVMパターン的な実装は、他のプラットフォームでは選択肢の一つにすぎませんが、WPF/Silverlight(Windows Phone 7 含む)においては唯一の選択肢です。コードビハインドを書かないことはMVVMパターンそのものの定義とは関係ありません。まずはスキルにあったレベルでMVVMパターンを意識した実装を初めてみませんか? 以前の勉強会発表資料(わんくま勉強会での発表資料の半分以上をカットし、Androidテスト祭り分追加)を加工し、社内勉強会、そのほかの勉強会・ブログなどで自由に使える資料として公開します。私の個人名は抜いてあります。 無許可の改変・引用なども問題ありません。ただ、資料の直接の商用利用などはご遠慮ください。 ブログに張り付けたい場合、下のbマークから埋め込み用URLを取得できます。 「コードビハインドを書くのはMVVMパターンではない」などの誤解が、MVVM

  • WPF – コマンドのCanExecute強制自動再評価について - the sea of fertility

    ちょうど今Livet開発メーリングリストで懸案になっている機能に、WPFがCommandのCanExecuteを強制的に自動再評価する既定の動きを、一切強制再評価なし(None)・WPF既定(Default)・WPF既定(Full)に加えてViewModelのプロパティの変化で強制再評価 の3つのモードに設定できるようにする機能があります。 この機能の是非について、正直ものすごく悩んでいますし、MLメンバの方にも反対意見も頂いております。広くご意見いただけると幸いです。 概要 WPF既定の動作の何が気に入らなかったかといえば、 Windowのアクティブ化・非アクティブ化 マウスクリック キーボード押下 キーボードフォーカスのGot/Lost が、アプリ内のどれかのコントロールやWindow自体に発生した場合に、Viewに存在するすべてのコマンドソースコントロール(ButtonやMenuIt

    airj12
    airj12 2011/07/25
    本来的にはコマンドと入力データの紐付けを管理した上で「入力データに変化があったら再評価」なんだろうけど、複雑すぎる気もする。「強制再評価+重い評価処理は結果をキャッシュしとく」くらいが妥当かな…
  • MVVM:コードビハインドに記述しても良いと思う:Gushwell's Dev Notes

    Messengerを理解するために自作してみた(1)-(3) Messenger+Behaviorを理解するために自作してみた(1)-(3) でとりあえず、コードビハインドにコードを記述せずに、ViewModelからViewを操作する 方法については理解したつもりだけれど、 それでも、今の僕の経験と知識では、コードビハインドに次のようなコードを書いても、 良いんじゃないかなーと思ってます。 private void button1_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("実行しますか", "確認", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { vieewModel.Execute(); } } こう主張すると、 「コードビハインドにView以外のロ

    airj12
    airj12 2011/06/01
    Blend無し&(Prismみたいな)Framework無しだとこういう結論になると思う
  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(1/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? ―― 「the sea of fertility」より ―― 尾上 雅則 2011/05/18 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 MVVM(Model-View-ViewModel)パターンに関する知見があちこちに散らばっているように見えるので、そろそろまとめてみることにしました。この記事は、MVVMの基的な考え方・実装方法などを把握されて

    airj12
    airj12 2011/05/23
    読み応えがありすぎるw
  • Livet - the sea of fertility

    Livet WPF4 MVVM インフラストラクチャ ProjectHome : http://ugaya40.net/livet SourceCode : https://bitbucket.org/ugaya40/livet/ Livetの概要と導入方法 LivetはWPF4のためのMVVM(Model/View/ViewModel)パターン用インフラストラクチャです。.NET Framework 4 Client Profile以上で動作し、zlib/libpngライセンスで提供しています。zlib/libpngライセンスでは、ライブラリとしての利用に留めるのであれば再配布時にも著作権表示などの義務はありません。しかし、ソースコードを改変しての再配布にはその旨の明示が義務付けられます。 Livetの目指すところ 現在、WPFでMVVMパターンによる実装を行うにはインフラストラクチャの

    airj12
    airj12 2011/05/20
    味見する
  • 東京マラソンの日に外に一歩も出ないオレ - wave1008の日記(主にSilverlight)

    先日MVVMをDISったが、説明不足気味でDISりっぱなしでは無責任かと、ちと反省している。 SilverlightでMVVMを使うのは問題があるので昔ながらのWindows Formsスタイルの開発に戻るべきだと受け取られたとしたら、それは誤解である。Silverlight(あるいはWPF)ではもはやWindows Formsスタイルの開発はできないし、そうすべきではないからだ。なので、今日はフォロー記事を書いてみる。 Silverlightの各コントロール群はMVVMの特徴であるデータバインドを前提に設計されている。なので、従来のWindows Formsスタイルの開発はできなくなっている部分が多々ある。 たとえばDataGridWindows FormsのDataGridViewならばセルの何行何列をインデックス指定すればセルのオブジェクトを取得でき、さらに背景色やフォント色などの

    airj12
    airj12 2011/05/13
    WPFに触れ始めたばかりだけど、今この心境
  • Livet – WPF4 MVVM インフラストラクチャ - the sea of fertility

    LivetはWPF4のためのMVVM(Model/View/ViewModel)パターン用インフラストラクチャです。.NET Framework 4 Client Profile以上で動作し、zlib/libpngライセンスで提供しています。zlib/libpngライセンスでは、ライブラリとしての利用に留めるのであれば再配布時にも著作権表示などの義務はありません。しかし、ソースコードを改変しての再配布にはその旨の明示が義務付けられます。 ダウンロードはこちらからになります。配布ファイルはVSI(Visual Studio Content Installer)形式を使用しています。Livetアセンブリ・デザイナ(Visual Studio 2010/Expression Blend 4)サポートアセンブリを内包するプロジェクトテンプレートと、コマンド・プロパティ用のコードスニペットがインスト

    airj12
    airj12 2011/05/13
    仕事で使っちまおうか…
  • M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね - かずきのBlog@hatena

    M-V-VMで書いてると、ViewはViewModelのプロパティにバインドして、ViewModelのプロパティの内容を表示するのが主になります。 View上でのボタンクリックとかもViewModelが提供するCommand型のプロパティとバインドして、完全にViewModelに処理をお任せするのが一般的だと思います。 そうなってくると、ちょっと不便なこととして、ボタンクリックの結果をViewで表示したいとか、コマンド実行前に確認画面を出したいということをしようとすると、どうしようか悩んでしまいます。 ViewModelでMessageBoxを出すコードを書くと、せっかくViewModelとViewを分離しているありがたみがなくなってしまうし、ユニットテストしにくくなってしまいます。一番素直なのは、Viewでボタンのクリックイベントを処理して、確認画面を出した後にViewModelのインス

    M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね - かずきのBlog@hatena
  • WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コードは MSDN コード ギャラリーからダウンロードできます。 オンラインでのコードの参照 目次 秩序と混乱 Model-View-ViewModel の進化 WPF 開発者に MVVM が好まれる理由 デモ アプリケーション 中継コマンド ロジック ViewModel クラス階層 ViewModelBase クラス CommandViewModel クラス MainWindowViewModel クラス ViewModel に View を適用する データ モデルとリポジトリ 新しい顧客のデータ入力フォーム All Customers ビュー まとめ 専門的なソフトウェア アプリケーションのユーザー イン

    WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン
    airj12
    airj12 2011/04/18
    本家
  • WPFアプリケーションに最適なアーキテクチャ「M-V-VM」とは | グレープシティ株式会社

    帳票・レポート 日仕様の帳票開発に必要な機能を搭載したコンポーネント ActiveReports for .NET ActiveReportsJS 表計算・グリッド Excel風のビューと表計算機能を実現するUIコンポーネント SPREAD for Windows Forms SPREAD for ASP.NET SPREAD for WPF SpreadJS 入力支援 快適な入力を実現する日仕様入力コンポーネントセット InputManPlus for Windows Forms InputManPlus for ASP.NET InputManPlus for WPF InputManJS 多段明細 1レコード複数行&日付表示に 最適なグリッドコンポーネント MultiRowPlus for Windows Forms 戻る コンポーネントセット Visual Studioで利用す

    WPFアプリケーションに最適なアーキテクチャ「M-V-VM」とは | グレープシティ株式会社
    airj12
    airj12 2011/04/18
    セッション資料PDFが異常に分かり易い
  • 1