I'm still working through that and trying to understand it. First attempt failed.

Wouldn't it just be easier if the datagrid had a property that was settable where I could tell it what class to use to create the new row instance? Instead of it having to figure it out on information that isn't there (the empty list)?

Here is my actual code that creates the list that is bound to the itemssource:

At this point, I am guessing the problem for the datagrid is that I am constructing the instance with a constructor that takes a parameter. And the parameter is an IList. And even though it was specified as an IList of Person, I suspect there isn't
enough information there for the grid to figure out what to do.