タグ

ブックマーク / blog.okazuki.jp (5)

  • MVVMでめんどくさいと思ってる部分を、個人的にどうやって緩和してるか - かずきのBlog@hatena

    MVVMのめんどくさいと感じてるところ ModelとViewModelのクラスのマッピング MVVMでアプリ組んでるとModelとViewModelで似た構造のクラスを作って、値の移し替えを行うことがあります。AutoMapperとか使ってもいいのですが、ReactivePropertyを使うことでも楽をすることができます。 以下のようなModelクラスがあるとします。(BindableBaseクラスはPrismのINotifyPropertyChangedを実装したクラスです) public class Person : BindableBase { private string name; public string Name { get { return this.name; } set { this.SetProperty(ref this.name, value); } } pr

    MVVMでめんどくさいと思ってる部分を、個人的にどうやって緩和してるか - かずきのBlog@hatena
  • TextBoxで入力内容を変更してなくても検証処理を走らせたい - かずきのBlog@hatena

    先日書いた画面が表示された直後に入力値の​妥当性検証を行い画面にフィード​バックをする方法ですが、MSDNフォーラムの元質問者の方からコメントをいただけました。 私の方で悩んでいた部分としては、初期化時にエラーにしたいのではなく、「画面初期化時はエラーの値が入っていてもエラーにしない」という処理を実装しようとしております。 現状、一応それらしい動きにはなってきているのですが、「エラー値&エラー表示無し」のコントロールにフォーカスを当てて、値を変更せずにLostFocusした時に、エラーを表示するという部分が突破できていません。要件を整理すると 初期表示では入力にエラーがあってもエラー表示はしない TextBoxのでフォーカスが外れたタイミングで検証を行わせたい 入力内容を変更してない状態でもフォーカスが外れたタイミングで検証を行わせたい ということになると思います。 先日のサンプルをちょっ

    TextBoxで入力内容を変更してなくても検証処理を走らせたい - かずきのBlog@hatena
  • PropertyChangedイベントの処理方法 - かずきのBlog@hatena

    INotifyPropertyChangedインターフェースでお馴染みのPropertyChangedイベントですが、これのイベントハンドラのコードが気に入らない。というか書いてて、ちょっとなんだかなぁと思ってしまいます。 例えば、以下のようなNameプロパティとAgeプロパティを持ったINotifyPropertyChangedインターフェースを実装したPersonクラスがあったとします。 public class Person : INotifyPropertyChanged { private string _name; public string Name { get { return _name; } set { if (Equals(_name, value)) return; _name = value; OnPropertyChanged("Name"); } } priv

    PropertyChangedイベントの処理方法 - かずきのBlog@hatena
  • MVVMパターンでViewModelを楽に作る方法 - かずきのBlog@hatena

    MSDNマガジンの英語版の最新のを見てたら、こんな以下の記事を見つけた。 http://msdn.microsoft.com/ja-jp/magazine/ff798279(en-us).aspx まだ全部見てないけど、ここにViewModelを楽に作る方法が書いてあっておぉ〜っと思ったので紹介します。 このテクニックが使えるプラットフォームは.NET Framework 4です。 ViewModelは、作るとViewとModelを切り離せるけど、Modelをラップするようなプロパティを大量に作らないといけません。 例えば、以下のようなModelがあったとして public class Person { public string FullName { get; set; } } 以下のようなViewModelを作ります。 // ViewModelBaseはINotifyPropertyC

    MVVMパターンでViewModelを楽に作る方法 - かずきのBlog@hatena
  • WPFでFormの継承(Windowの継承 or 見た目の継承?) - かずきのBlog@hatena

    ネタ元1:http://bbs.wankuma.com/index.cgi?mode=al2&namber=42894 ネタ元2:http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/dd3810a9-e3aa-4706-89ee-3f836408e709 Windows Formの頃には一般的?に行われていたFormの継承を、WPFでやろうとすると躓きます。これは、ネタ元を見ていただければわかると思います。 じゃぁどうやるの?ということで強引にしてみました。 Windowをベースにしたカスタムコントロールを作る まず、WPFアプリケーションのプロジェクトでカスタムコントロールを作成します。 ここでは、MyWindowという名前にしました。そして、基クラスをControlからWindowに変更します。 using

    WPFでFormの継承(Windowの継承 or 見た目の継承?) - かずきのBlog@hatena
  • 1