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