1.Grid 内容自动换行及自适应行高
cs
<DataGrid Grid.Row="1" FontSize="14" IsReadOnly="True" VerticalScrollBarVisibility="Auto" RowHeight="NaN"
ItemsSource="{Binding List}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding MsgLevel}">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.Langs[MsgLevel],FallbackValue=MsgLevel}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTemplateColumn Width="380" >
<DataGridTemplateColumn.Header>
<TextBlock HorizontalAlignment="Stretch"
Text="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.Langs[MsgContent],FallbackValue=MsgContent}"/>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<!--超过高度显示滚动条,超出宽度换行,RowHeight="NaN" 行自适应高度-->
<ScrollViewer MaxHeight="80" VerticalScrollBarVisibility="Auto" >
<TextBlock Text="{Binding MsgContent}" TextWrapping="Wrap" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" PreviewMouseDown="TextBlock_PreviewMouseDown" />
</ScrollViewer>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
参考文献
微软DataGrid控件文档