I bind my datagrid using
//fill datagrid public DataTable GameData { get { DataSet ds = new DataSet(); FileStream fs = new FileStream
If your backing collection that implements IEditableCollectionView returns true from its CanAddNew method, the DataGrid will assume that is what you want to do.
IEditableCollectionView
CanAddNew
There's a good overview here:Overview of the editing features in the WPF DataGrid