C# WPF: Удаляются ли бинды на метод элемента списка при его удалении?
Вопрос довольно простой, но я не смог найти информацию об этом
У меня есть ListView с 250+ элементов.
Элементы добавляются динамически, в цикле, где на двойное нажатие по элементу навешивается вызываемый метод:
item.MouseDoubleClick += MyMethod();
Затем, при определенных действиях пользователя все элементы списка очищаются и добавляются новые, с новыми значениями. Для них также добавляется событие двойного клика.
Вопрос в том, удаляются ли старые слушатели вместе с элементами при удалении их через ListView_.Items.Clear()?
Если нет, то как будет корректно их отсоединять? Есть ли в этом необходимость?
Ответы (1 шт):
Делегат удалится, но не сразу, а при сборке мусора. Это нормально.
Но я бы на вашем месте использовал InputBindings + KeyBinding с привязкой к команде. Чтобы вообще не думать о событиях.