У меня есть несколько ситуаций, когда у меня есть панели или сетки, которые 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 с измененным поведением?


