У меня есть несколько ситуаций, когда у меня есть панели или сетки, которые TextWrapping="Wrap"
размер автоматически, но если они содержат TextBox
с TextWrapping="Wrap"
, TextBox
продолжает расширять панель/сетку вправо задолго до того, как это действительно необходимо, например, изображение ниже:
Я хочу, чтобы TextBox
заполнял свою область, оборачивая текст, прежде чем он попытается развернуться вправо. Упрощенный пример проблемы:
<Grid>
<Grid Background="Black" />
<Grid VerticalAlignment="Top" HorizontalAlignment="Left" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBox TextWrapping="Wrap" Height="120" MinWidth="200" />
</Grid>
</Grid>
Я нашел подобный вопрос о переполнении стека здесь, но лучшее опубликованное решение не позволило расширить TextBox
. Это решение было что-то вроде:
<Grid>
<Grid Background="Black">
</Grid>
<Grid VerticalAlignment="Top" HorizontalAlignment="Left" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border BorderThickness="0" x:Name="border" Margin="0.5" />
<TextBox TextWrapping="Wrap" Height="120" MinWidth="200" Width="{Binding ActualWidth, ElementName=border}" />
</Grid>
</Grid>
Любые идеи, кроме расширения TextBox
с измененным поведением?