Как запустить обработчик событий PropertyChanged только один раз в Silverlight?

#silverlight #dependency-properties #inotifypropertychanged

#silverlight #зависимость-свойства #inotifypropertychanged

Вопрос:

Я хочу, чтобы зарегистрированный обработчик событий для PropertyChange запускался только один раз, даже если свойство снова было изменено в самом обработчике событий или даже если для этого объекта было изменено несколько свойств.

Как я могу это сделать?

Ответ №1:

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

Комментарии:

1. У меня нет исходного кода для свойства. Это сторонняя dll.

2. @PuneetDudeja что вы можете сделать, так это использовать это свойство для переноса свойства в вашу стороннюю dll.