Добрый день. Я создаю пользовательский элемент управления макетом WPF, который должен пропускать дочерние элементы в процессе измерения / аранжировки, если они не помещаются в доступной области. Я тестирую с Blend.
Я попытался переопределить GetVisualChild (n) и VisualChildCount, чтобы попытаться позволить среде выполнения распознавать только определенные элементы в качестве моих желаемых потомков. Это, кажется, работает хорошо, но большая проблема, которую я имею, состоит в следующем:
Я помещаю некоторых детей в свой элемент управления макетом из Blend. Затем я сжимаю элемент управления, чтобы некоторые дети не помещались внутри моей панели. Проблема заключается в том, что дочерние элементы, которые больше не отображаются, остаются визуализированными на поверхности конструирования Blend. Я попытался сделать недействительным их визуальное изображение, вызвав «RemoveVisualChildI ()» ... но, похоже, ничто не заставляет исчезать визуализированные визуальные эффекты.
Врываясь в метод GetViasualChild (...), я наблюдаю за Blend, и среда выполнения запрашивает только фактических видимых дочерних элементов (полностью содержащихся внутри моей панели макета). Таким образом, мне кажется, что проблема связана с дочерними элементами, которые думают, что они все еще должны быть визуализированы ... или что панель контейнера просто не знает, что она нуждается в повторной визуализации.
Есть какие-нибудь подсказки? Я могу попытаться предоставить более подробную информацию, если это необходимо, но моей основной потребностью является возможность выборочно скрывать / показывать (не включать в процесс измерения / аранжировки) определенные дочерние элементы пользовательской панели.
Спасибо!
- Шон