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