WPF Datagrid行号

Ian*_*ing 7 wpf datagrid

我有一个数据网格.我想要一个在行中只显示1 2 3 4 ...的列,最多可以从我的其他数据绑定创建的行数.

 <dg:DataGridTextColumn Header="#" IsReadOnly="True"
                                           Binding="...."         />
Run Code Online (Sandbox Code Playgroud)

小智 4

今天我花了很多时间浏览 MSDN 文档和其他线程来寻找这个答案。我决定实现这一点的方法是绑定一个属性(我创建的),专门用于数据网格绑定到的集合中的对象中的行号。例如

public class myItem
{
    public int LineNumber { get; set; }
    // rest of your object...
}
Run Code Online (Sandbox Code Playgroud)

您必须自己手动设置对象中的行号。

可以在此处找到添加行号的另一种方法。这是代码:

datagrid.LoadingRow += 
    new EventHandler<DataGridRowEventArgs>(datagrid_LoadingRow);

...
void datagrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.Header = e.Row.GetIndex();
}
Run Code Online (Sandbox Code Playgroud)

此实现将行号放在行标题中,并且不需要您仅在对象中放置行号的属性。但是,如果您需要从数据网格中插入或删除行,行号将不会更新。