Tag: INotifyPropertyChanged

目次

参考情報

定義

namespace System.ComponentModel
{
    // 概要:
    //     プロパティ値が変更されたことをクライアントに通知します。
    public interface INotifyPropertyChanged
    {
        // 概要:
        //     プロパティ値が変更されたときに発生します。
        event PropertyChangedEventHandler PropertyChanged;
    }
}

使用方法

  • WPFでいうところのモデルに実装する。
  • モデルクラスのPropertyChangedはBindingされたときにListBoxやTextBoxからセットされる。これによりListBoxやTextBoxが変更通知をうけとれるようになる。

典型的な実装

  • クラスにINotifyPropertyChangedインターフェイスをimplementsする。
  • 下記NotifyPropertyChanged()のようなメソッドを作る(名前はなんでもよい)。
  • 変更を通知したいプロパティのsetメソッドの実装を変更し、値がかわっていたらNotifyPropertyChanged()をよびだすようにする。
public class DemoCustomer : INotifyPropertyChanged
{
    private void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }

    private string companyNameValue = String.Empty;

    public string CompanyName
    {
        get
        {
            return this.companyNameValue;
        }

        set
        {
            if (value != this.companyNameValue)
            {
                this.companyNameValue = value;
                NotifyPropertyChanged("CompanyName");
            }
        }
    }

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:46:37 (1101d)