「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.24
XML
カテゴリ: C#.NET


以下は、C# WPF アプリケーションで INotifyPropertyChanged インターフェースを実装する例です。この例では、ViewModel クラス内で INotifyPropertyChanged を実装して、データの変更を View に通知します。


```csharp

using System.ComponentModel;


namespace YourNamespace

{

    // INotifyPropertyChanged インターフェースを実装する基底クラス

    public class ObservableObject : INotifyPropertyChanged

    {

        public event PropertyChangedEventHandler PropertyChanged;


        // プロパティ値が変更されたときに呼び出されるメソッド

        protected virtual void OnPropertyChanged(string propertyName)

        {

            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

        }


        // プロパティ値を設定するメソッド

        protected bool SetProperty<T>(ref T field, T value, string propertyName)

        {

            if (EqualityComparer<T>.Default.Equals(field, value))

                return false;


            field = value;

            OnPropertyChanged(propertyName);

            return true;

        }

    }


    // INotifyPropertyChanged を実装する例として ViewModel クラスを作成します

    public class YourViewModel : ObservableObject

    {

        private string _name;


        // プロパティの定義

        public string Name

        {

            get { return _name; }

            set { SetProperty(ref _name, value, nameof(Name)); }

        }

    }

}

```


上記の例では、ObservableObject クラスが INotifyPropertyChanged インターフェースを実装し、プロパティの変更通知を処理します。そして、YourViewModel クラスが ObservableObject を継承しており、その中で Name プロパティを定義しています。Name プロパティでは、SetProperty メソッドを使用してプロパティの値を設定し、値が変更されたときに OnPropertyChanged メソッドを呼び出して変更を通知します。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.24 10:36:09


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: