Я думаю, то, что вы хотите, не легко возможно.ViewBox сообщает своим дочерним элементам, что в проходе макета у них есть ограниченное пространство.После этого дисплей помещается в окно просмотра.Теперь текстовое поле с бесконечным пространством явно не может растягиваться.У меня есть 2 решения, которые, я думаю, не то, что вам нужно, но они могут быть полезны в любом случае.
Первое:
<Viewbox Grid.Column="1" Grid.Row="0" Stretch="Uniform" >
<Grid Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Viewbox}}, Path=ActualWidth}">
<TextBox TextWrapping="Wrap" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Grid>
</Viewbox>
это растянет вас текстовое поле, но отключит ожидаемое поведениеиз окна просмотра.Зачем?Мы сказали ViewBox сохранить соотношение сторон и установить текстовое поле, чтобы заполнить всю ширину области просмотра, которая сохраняет размер текстового поля.
Второй:
будет добавитьвысота до сетки, взятая из метки, измененная с помощью scaletransform ее окна просмотра.
Этот вариант, который я не пробовал, но с использованием преобразователя значений.
В заключение: нет простого способа добиться того, чего вы хотите, из-за того, что окно просмотра макетирует его.дети.Если вы просто хотите растянуть по горизонтали, мое первое решение отлично работает, если вы хотите масштабировать.Я думаю, вы должны сделать это сами.