WPF常见问题清单
1.Grid 内容自动换行及自适应行高
<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控件文档
https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/controls/sizing-options-in-the-datagrid-control?source=recommendations