应用WPF技术进行开发的时候,大多都会遇到给DataGrid添加序号的问题,今天分享一下查阅了不少stackoverflow的文章后,总结和改进过来的方法,先看一下效果图,文末附Demo下载连接spa
这里在DataGrid行级应用单值转换器,获取DataGrid的行号 , 转换为对应的序号,思路和实现很是简单,核心代码就几行设计
Binding:3d
<DataGridTextColumn Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Converter={StaticResource rowToIndexConverter}}" />
Converter:code
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { DataGridRow row = value as DataGridRow; if (row != null) return row.GetIndex() + 1; else return -1; }
顺便一提,应用字典类型绑定DataGrid数据源,仍是很方便的, 感兴趣的小伙伴能够一试 :)blog
<DataGridTextColumn Header="姓名" Binding="{Binding [Name]}" Width="60" /> <DataGridTextColumn Header="年龄" Binding="{Binding [Age]}" Width="60" /> <DataGridTextColumn Header="时间" Binding="{Binding [Time]}" Width="60" />
连接: https://pan.baidu.com/s/1dE1dZPn 开发
密码: wa1vget