У меня есть свойство, которое выглядит примерно так:Как я могу найти все обработчики для вызова «RaisePropertyChanged»?
private ISomething currentSomething;
public ISomething CurrentSomething
{
get { return currentSomething; }
set
{
if (!object.Equals(currentSomething, value))
{
currentSomething = value;
RaisePropertyChanged(() => CurrentSomething);
}
}
}
Когда сеттер вызывается, значение правильно перетекает в currentSomething
поле. Однако после строки RaisePropertyChanged(() => CurrentSomething);
в одном из списков в поле currentSomething есть два из удаленных элементов.
Мне кажется ясным, что что-то в моем коде подписывается на событие изменения этого свойства (и обрезает список, который мне нужно оставить в покое). Однако я не могу найти этого обработчика.
Есть ли способ найти всех подписчиков на мероприятие RaisePropertyChanged?
UPDATE:
я понял, что было с моим объектом. Это было связано с контролем, в котором была модель представления, которая делала что-то для этого. Я собираюсь оставить вопрос открытым, если у кого-то есть хороший ответ, но я больше не застрял.
Предполагая, что нет явных * слушателей, я бы сделал глобальный поиск для «CurrentSomething» и посмотрел, что связано с ним. – BradleyDotNET
@BradleyDotNET - Я пробовал это. Не повезло. – Vaccano
Я не думаю, что есть способ просто «найти» всех слушателей (так как большинство будет в рамках), но я рад, что вы больше не застреваете! – BradleyDotNET