Так что большая часть вопросов и ответов, которые я исследовал здесь, связана с поддержанием соотношения сторон при масштабировании, но я пытаюсь добиться масштабирования при одновременной настройке соотношения сторон для поддержания горизонтальной заливки.Это может быть проще объяснить с помощью изображений, поэтому предположим, что это оригинал:

Теперь, с этим текущим макетом, всякий раз, когда я изменяю размер самого внешнегоВ контейнере Viewbox масштабирует все внутри (равномерное растяжение), сохраняя соотношение сторон, поэтому, если я сжимаю контейнер по вертикали, я получаю несколько пробелов по сторонам:

В вышеописанном случае я хочу, чтобы ширина содержимого сначала растягивалась по горизонтали, а затем по мере необходимости масштабировалась по вертикали (например, размеры шрифта, высота элементов и т. Д.), Чтобы всесодержание продолжает быть видимым.

Если есть горизонтальное изменение размера самого внешнего контейнера, я хочу того же поведения - сетка должна масштабироваться горизонтально (и таким образом увеличиватьширина элементов).Это сложнее увидеть, так как скриншот сам по себе изменяет размеры по горизонтали, но этот скриншот изначально шире остальных:

Теперь я былэкспериментируя с различными первичными настройками Stretch, HorizontalAlignment и VerticalAlignment в Viewbox, и ближе всего к тому, что я хочу, это:
<Viewbox HorizontalAlignment="Stretch" VerticalAlignment="Top" Stretch="Fill">
<MyUserControl />
</Viewbox>
Это дает мне желаемый тип макета «заливка», но проблемаочевидно, что он искажает содержимое по вертикали, поэтому, если я сжимаю контейнер по вертикали, я получаю сжатый текст, а не шрифты, которые просто настраиваются по размеру.
Учитывая мое понимание того, как работает Viewbox, я 'Я не удивлен этим, так что я предполагаю, что мне нужно вместо этого подключиться к событию SizeChanged в Viewbox и использовать его для регулировки высоты MyUserControl (и чтобы она опускалась до Grid).
Этот конкретный ответ выглядел многообещающе: Заставить Viewbox масштабировать по вертикали, но растягивать по горизонтали
... но ответ с наибольшим количеством голосов, по-видимому, заставлял позицию позиции контента действоватьдовольно странноЕсли я опустил контейнер до определенной точки, контент / пользовательский элемент управления перескочат вправо и начнут исчезать с экрана.