То что на картинке выглядит как Expander, в Header у него панель с иконкой и текстом, в Content - DataGrid с таблицей. Если таких экспандеров не фиксированное кол-во, то их можно генерить с помощью ItemsControl
Если List заменить на ObservableCollection, то при удалении из коллекции строка удалиться и из DataGrid'a.
Или другой (плохой) вариант. После удаления из списка вызывать dg.Items.Refresh(), но это вызовет обновление всех строк.