INotifyPropertyChanged.PropertyChanged イベント

定義

プロパティ値が変更するときに発生します。

// Register
event_token PropertyChanged(PropertyChangedEventHandler const& handler) const;

// Revoke with event_token
void PropertyChanged(event_token const* cookie) const;

// Revoke with event_revoker
INotifyPropertyChanged::PropertyChanged_revoker PropertyChanged(auto_revoke_t, PropertyChangedEventHandler const& handler) const;
event PropertyChangedEventHandler PropertyChanged;
function onPropertyChanged(eventArgs) { /* Your code */ }
iNotifyPropertyChanged.addEventListener("propertychanged", onPropertyChanged);
iNotifyPropertyChanged.removeEventListener("propertychanged", onPropertyChanged);
- or -
iNotifyPropertyChanged.onpropertychanged = onPropertyChanged;
Event PropertyChanged As PropertyChangedEventHandler 

イベントの種類

この例では、 INotifyPropertyChanged インターフェイスを実装し、プロパティ値が変更されるたびに PropertyChanged イベントを発生させる方法を示します。 完全なコード一覧については、 XAML データ バインディングのサンプルを参照してください。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataBinding
{
    public class Employee : INotifyPropertyChanged 
    {
        private string _name;
        private string _organization;

        public string Name
        {
            get { return _name; }
            set
            {
                _name = value;
                RaisePropertyChanged("Name");
            }
        }

        public string Organization
        {
            get { return _organization; }
            set
            {
                _organization = value;
                RaisePropertyChanged("Organization");
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        protected void RaisePropertyChanged(string name)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(name));
            }
        }
    }
}

注釈

Microsoft .NET Frameworkを使用して UWP アプリをビルドする場合、このインターフェイスは非表示になり、開発者は System.ComponentModel.INotifyPropertyChanged インターフェイスを使用する必要があります。

PropertyChanged イベントは、PropertyChangedEventArgsPropertyName プロパティに String.Empty を使用して、オブジェクトのすべてのプロパティが変更されたことを示すことができます。 Windows Presentation Foundation (WPF) や Microsoft Silverlight のように、null を使用できないことに注意してください。

適用対象

こちらもご覧ください