Эта проблема возникает из-за невозможности обернуть мой TextBlock. По сути, в качестве последней попытки я устанавливаю MaxWidth на столбцы моей контейнерной сетки. Я был удивлен, обнаружив, что моя дочерняя метка и текстовое поле по-прежнему делают все, что они хотят (плохие дети, ПЛОХО), и не ограничены значением MaxWidth = "200" в столбце сетки.
То, что я действительно пытаюсь сделать, это позволить моему TextBlock заполнить доступную ширину и при необходимости перенести. До сих пор после попытки многих вариантов HorizontalAlignment = "Stretch" для каждого известного родителя в юниверсе ничего не работает, кроме установки явного MaxWidth = "400" или любого другого числа в TextBlock. Это не хорошо, потому что мне нужно, чтобы TextBlock заполнял доступную ширину, а не ограничивался каким-то фиксированным числом. Спасибо!
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MaxWidth="200" SharedSizeGroup="A" />
<ColumnDefinition MaxWidth="200" SharedSizeGroup="B" />
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Top" Margin="0 5 0 0" Grid.Column="0" Style="{StaticResource LabelStyle}" Width="Auto" Content="{Binding Value.Summary}" />
<TextBlock Grid.Column="1" Margin="5,8,5,8" FontWeight="Normal"
Background="AliceBlue"
Foreground="Black" Text="{Binding Value.Description}"
HorizontalAlignment="Stretch"
TextWrapping="Wrap" Height="Auto" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>