C# WPF: Удаляются ли бинды на метод элемента списка при его удалении?

Вопрос довольно простой, но я не смог найти информацию об этом

У меня есть ListView с 250+ элементов.

Элементы добавляются динамически, в цикле, где на двойное нажатие по элементу навешивается вызываемый метод:

item.MouseDoubleClick += MyMethod();

Затем, при определенных действиях пользователя все элементы списка очищаются и добавляются новые, с новыми значениями. Для них также добавляется событие двойного клика.


Вопрос в том, удаляются ли старые слушатели вместе с элементами при удалении их через ListView_.Items.Clear()?

Если нет, то как будет корректно их отсоединять? Есть ли в этом необходимость?


Ответы (1 шт):

Автор решения: aepot

Делегат удалится, но не сразу, а при сборке мусора. Это нормально.

Но я бы на вашем месте использовал InputBindings + KeyBinding с привязкой к команде. Чтобы вообще не думать о событиях.

→ Ссылка