前台xaml:
响应LoadingRow事件,绑定了DataGridRow.Header属性,然后为Header属性赋值。RowHeaderWidth = 0是把默认的行表头隐藏掉,用自己绑定的列。
<DataGrid Grid.Row="1" ItemsSource="{Binding WeaponStateNumModels}" Margin="2" RowHeaderWidth="0" LoadingRow="DataGrid_LoadingRow">
<DataGrid.Columns>
<DataGridTextColumn Header="序号" Width="80" Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}},Path=Header}"/>
<DataGridTextColumn Header="名称" Width="*"/>
<DataGridTextColumn Header="类型" Width="*" />
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
后台代码:
private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = e.Row.GetIndex() + 1;
}
本文介绍如何在WPF中使用DataGrid控件,并通过XAML和C#代码自定义行头显示。通过设置RowHeaderWidth属性为0来隐藏默认行头,再利用DataGrid_LoadingRow事件为每一行绑定特定的Header。此方法适用于需要个性化展示行序号或其他信息的场景。

573

被折叠的 条评论
为什么被折叠?



