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