这个问题源于无法让我的 TextBlock 换行。基本上作为最后的尝试,我在容器网格的列上设置 MaxWidth。我惊讶地发现我的子标签和文本框仍然可以为所欲为(坏孩子,BAD),并且不受我的网格列的 MaxWidth =“200”的限制。
我真正想做的是让我的 TextBlock 填充可用宽度并在必要时换行。到目前为止,在宇宙中每个已知的父级上尝试了许多 HorizontalAlignment="Stretch" 的变体之后,除了在 TextBlock 上设置显式 MaxWidth="400" 或任何数字外,没有任何效果。这不好,因为我需要 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>