В одном из моих предыдущих приложений мне нужно было динамически добавлять элементы управления на панель flowlayout в проекте winforms, но мне нужно было, чтобы они прекратили загрузку, как только на панели не осталось места для них.
Для этого я написал: https://github.com/LucasMoffitt/WordFiller/blob/master/WordFiller.Controls/WordLayoutPanel.cs
По сути, это просто устанавливает для свойства значение false, если входящий элемент управления касается прямоугольника, который я рисую внизу панели.
Пытаясь воспроизвести это поведение в WPF, я не могу найти способ заставить WrapPanel прекратить принимать элементы управления, если он заполнен.
Я попытался переопределить методы Arrange и Measure, но они вызываются только после добавления всех элементов управления. Мне нужно иметь возможность остановить загрузку элементов управления вообще.
У кого-нибудь есть идеи?