Я динамически создаю диаграмму org в Silverlight 2, добавляя много контейнеров Grid к холсту. Каждый контейнер сетки представляет собой узел внутри диаграммы. Я захватывая событие щелчка для узлов следующим образом:События делегатов Silverlight
grid.MouseLeftButtonUp += new MouseButtonEventHandler(grid_MouseLeftButtonUp);
По дизайну, каждое событие нажатия изменяет внешний вид дерева, так что при захвате события щелчка я перестраивать весь орг дерево. Это работает нормально для двух или трех кликов, но после этого все просто зависает, когда я нажимаю узел (сетка). Каждый раз, когда я перестраивать дерево очистить базовый холст с помощью:
_canvasBase.Children.Clear();
Я интересно, если мне нужно конкретно ясно, все делегаты события перед очисткой всех брезентовые детей? Или может быть что-то еще, чтобы вызвать зависание?
Отметьте это сообщение: [LeakEvent → WeakEvent] (http://blogs.microsoft.co.il/blogs/shimmy/archive/2012/02/01/weak-event-handler-for-silverlight.aspx) – Shimmy