タグ

ブックマーク / qiita.com/soi (3)

  • INotifyPropertyChangedプロパティ実装方法まとめ C#3からC#7、Fodyも - Qiita

    概要 この記事はC# Advent Calendar 2017の14日目の記事です。 n番煎じですが、INotifyPropertyChangedの実装について、今さらながらにまとめてみます。 ネットで調べると既に数限りない実装方法の説明がありますが、それ故に初心者の方は結局どれがいいんだがわかんねー、となることも多いと思います。 そこで実行結果は全て同じにした上で、C#3~C#7記法、さらにライブラリの継承やAOPなどちょっと変わったやつまで含めて、色々な方法で実装して独断と偏見で比較します。 実行結果 まず最初に全部で共通の実行結果について説明します。 TextBoxとTextBlockが並べてあるだけです。 上のTextBoxを変更すると、下のTextBlockに反映されます。 なお、Jは発音しませんが必要です。 (参考画像) 共通View ViewはReactiveProperty

    INotifyPropertyChangedプロパティ実装方法まとめ C#3からC#7、Fodyも - Qiita
    masaru_b_cl
    masaru_b_cl 2017/12/14
    どうやっても大体長くなるので、そういうものと割り切るのも大切
  • AsyncReactiveCommandでWPFのお手軽ダブルクリック抑制 - Qiita

    背景 世の中には特に意味はなくても、ボタンをダブルクリックする人種がいるのです。 「ボタンはダブルクリックするものだと思っていた」 「不安なのでダブルクリックした」 「せっかちだから」 理由はそれぞれですが、 当然クリックイベントに結び付けられた処理は2回行われてしまい、 (押した人からすると)意図しない動作をし、激怒します。 AsyncReactiveCommandを使用すると簡単にこれを防ぐことが出来ます。 あなたのプログラムに意図せず2回動作したらまずい処理(ex.課金アイテムの使用、発注書の送信など)が含まれていたら、AsyncReactiveCommandを検討する価値はあります。 ReactiveProperty v2.8以前 AsyncReactiveCommand登場前のV2.8以前ではCommandとは別にプロパティを作り、コマンドの実行可否を結びつける必要がありました。

    AsyncReactiveCommandでWPFのお手軽ダブルクリック抑制 - Qiita
    masaru_b_cl
    masaru_b_cl 2017/11/21
    これは便利そう
  • WPF&MVVM、実際やってみたら印象変わった - Qiita

    はじめに この記事はWinFormsで開発していた人間が、WPFにチャレンジして4ヶ月ぐらい経過した時点での導入前と導入後の雑感です。 未使用ですが、同じくMVVMやXAMLを使うXamarinやUWPにも共通している点があると思います。 WPFを検討している、推進したいが理解が得られない、やってみたけど挫折しそうになっている、といった人の参考になれば幸いです。 良い悪い、ともに現時点で素直に感じたことを書いていますが、私の勉強不足による勘違いもあるかもしれません。 その点に関しては是非ご指摘下さい。 直接の導入のきっかけ 前からWPFにチャレンジしたいとは思っていましたが、導入のきっかけはポジティブなものではありませんでした。 それはある日の昼下がりのことです。 WinFormsで開発したアプリを自前のPCで動作確認後、実際に使用するノートPCで動作させたのです。 すると、見た目が崩れま

    WPF&MVVM、実際やってみたら印象変わった - Qiita
    masaru_b_cl
    masaru_b_cl 2016/12/20
    VはVM知ってるので、VのコードビハインドでVMのイベント監視してやればよいですよ“大量の描画が必要な部分はView対する参照をViewModelに持ち、コードで描写しています(もっと良いやり方がある気もしますが)”
  • 1