應用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