WPF Как стереть DrawingVisual с помощью RemoveVisualChild

Используя WPF, я рисую символы «быстрым способом» (рисунок отображается в DrawingVisuals, без фигур). Так что... я могу успешно нарисовать их и без проблем пройти проверку на попадание. Но при попытке удалить их, используя RemoveVisualChild() плюс RemoveLogicalChild(), на экране нет никакого эффекта: нет визуального удаления.

Я реализую свой собственный объект, похожий на холст (переопределяя VisualChildrenCount, GetVisualChild, MeasureOverride и ArrangeOverride).

Некоторое время я считал, что это проблема обновления, но после вызова многих методов (InvalidateMeasure, InvalidateArrange, InvalidateViual и UpdateLayout, а также метода вызова Dispatcher для выполнения постпотоковой обработки в фоновом режиме) ну... предположительно стертые объекты все еще там.

Любопытно, что новые объекты, которые будут рисоваться НАД этими стертыми, на самом деле визуализируются ПОД ними!!

Любые идеи?


person Néstor Sánchez A.    schedule 03.10.2009    source источник


Ответы (1)


РЕШЕНО: Это была моя ошибка (какой позор!)... Рекурсивное обновление символа, запущенное на уровне установки свойства, перерисовывало объект.

person Néstor Sánchez A.    schedule 05.10.2009