WPF常见问题清单

发布于:2025-09-15 ⋅ 阅读:(15) ⋅ 点赞:(0)

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