У ListBox есть дочерние элементы, у которых есть подписки. Допустим, у ListBox есть StackPanel, а у StackPanel есть Button с подпиской.
После использования StackPanel я хочу удалить StackPanel из ListBox.
// There is a ListBox named "list".
StackPanel stack = new StackPanel();
Button button = new Button();
RoutedEventHandler eventHandler = (s, e) => { ... };
button.Click += eventHandler;
stack.Children.Add(button);
list.Items.Add(stack);
...
// Now I want to remove StackPanel.
// Should I do this before removing: "button.Click -= eventHandler;"?
list.Items.Remove(stack);
Должен ли я отказаться от подписки Button перед удалением StackPanel из ListBox (во избежание утечек памяти)? Или достаточно удалить StackPanel из ListBox, чтобы дочерние подписки (в данном случае Button) исчезли и сборщик мусора смог их легко собрать? Спасибо.