Когда дочерний элемент добавляется / удаляется Canvas
, он автоматически становится недействительным, так что происходит цикл измерения / упорядочения. Таким образом, вам не нужно явно отслеживать операции добавления / удаления.
Вместо этого вам просто нужно переопределить метод MeasureOverride, а затем внутри метода вы можете посмотреть на набор Children и заметить, что изменилось. Это одна из областей, которую Silverlight использовать гораздо сложнее, чем WPF. Вы не можете предоставить собственную коллекцию для хранения дочерних элементов, например WPF, и не можете подключить событие к существующей коллекции Children.