如何在Silverlight中只触发一次PropertyChanged事件处理程序?

时间:2011-10-24 07:04:37

标签: silverlight dependency-properties inotifypropertychanged

我希望PropertyChange的注册事件处理程序只触发一次,即使在EventHandler本身中再次更改了Property,或者即使在该对象上更改了多个属性。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

        private string _oneTimeFiredPropertyChanged;
        private bool _oneTimeFired = false;
        public string OneTimeFiredPropertyChanged
        {
            get
            {
                return _oneTimeFiredPropertyChanged;
            }
            set
            {
                if (!oneTimeFired)
                {
                    RaisePropertyChanged("OneTimeFiredPropertyChanged");
                    oneTimeFired = true;
                }
                _oneTimeFiredPropertyChanged = value;
            }
        }