У меня проблема с управлением TextBox
. Знайте об ScrollViewer
, так как это имеет значение.Размер TextBox внутри ScrollView с горизонтальной прокруткой
Вот моя XAML:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ScrollViewer HorizontalScrollMode="Auto" HorizontalScrollBarVisibility="Auto">
<TextBox HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Margin="20"
Text = "A short text">
</TextBox>
</ScrollViewer>
</Grid>
Это приводит к следующим образом:
Похоже, как ожидается, и он затрачивает/сжимается хорошо, если при изменении размера окна. Пока все хорошо, но что произойдет, если текст немного дольше?
Это происходит:
TextBox
Теперь растет в соответствии с текстом, внутри которого находится а), потому что есть ScrollView
, что позволяет горизонтальную прокрутку и б) результаты в очень некрасивой UI (поскольку правый край не виден, но полоса прокрутки и т. д.)
Кто-нибудь знает, как я мог бы добиться внешнего вида с первого снимка экрана даже с более длинным текстом (сохраняя ScrollViewer)?
Я думал о том, чтобы установить максимальную ширину для TextBox
, но это помешало росту TextBox
с недопустимым окном.
В чем причина использования 'ScrollViewer', если вы не хотите, чтобы ваш контент прокручивался? – Bart
попробуйте привязать TextBox.Width к ScrollViewer.ActualWidth – RTDev