#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.