Вы не «отрисовываете» дочерний элемент.Что происходит, когда что-то запускает проход ArrangeOverride
, вы просто делаете свою математику, чтобы нарисовать / перерисовать его.
Если вы хотите «псевдо пропустить» элемент, вы не можете.Как только он нарисован, он должен быть перерисован.Но вы всегда можете нарисовать его в точке (0, 0) с помощью Rect (0, 0).По сути, вы кладете его в пустоту.
Так есть ли способ "по-настоящему" отменить элемент?Да, как-нибудь удалить его из коллекции InternalChildren.Это можно сделать, удалив элемент из дерева визуалов или если ваша панель является хост-панелью для ItemsSource, вы можете удалить этот элемент из коллекции ItemsSource.