¿Cómo agregar columnas mediante programación a wpf datagrid con MVVM?

Quiero crear una tabla dinámica en la interfaz de usuario en una aplicación WPF con MVVM. Así que el número de columnas no es estático.

Descubrí que puedo agregar columnas del código detrás del archivo mediante programación (como se muestra a continuación en los fragmentos de código)

myDataGrid.Columns.Add(column );

Pero yono hacer Quiero usar el código detrás del archivo. Quiero hacer esto con MVVM (desde elver modelo). ¿Alguien puede darme una solución para esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta