Я создаю элемент управления для WPF, и у меня есть вопрос для вас, гуру WPF.
Я хочу, чтобы мой элемент управления мог расширяться, чтобы соответствовать изменяемому размеру.
В моем контроле у меня есть окно списка, которое я хочу расширить с помощью окна. У меня также есть другие элементы управления вокруг окна списка (кнопки, текст и т.д.).
Я хочу иметь возможность установить минимальный размер моего элемента управления, но я хочу, чтобы окно могло быть меньше размерами, создавая полосы прокрутки для просмотра элемента управления.
Это создает вложенные области прокрутки: один для списка и ScrollViewer, который обертывает весь элемент управления.
Теперь, если в поле списка установлен автоматический размер, он никогда не будет иметь полосу прокрутки, потому что он всегда отображается в полном размере в ScrollViewer.
Я хочу, чтобы элемент управления прокручивал, если содержимое не может быть меньше, иначе я не хочу прокручивать элемент управления; вместо этого я хочу прокрутить список внутри элемента управления.
Как изменить поведение класса ScrollViewer по умолчанию? Я пробовал наследовать от класса ScrollViewer и переопределять классы MeasureOverride и ArrangeOverride, но я не мог понять, как правильно измерить и уладить ребенка. Похоже, что аранжировка должна каким-то образом влиять на ScrollContentPresenter, а не на фактический контент.
Любая помощь/предложения будут высоко оценены.