WPF MVVM: ¿cómo vincular GridViewColumn a ViewModel-Collection?

En mi vista, obtuve un ListView vinculado a un CollectionView en mi ViewModel, por ejemplo, así:

<ListView ItemsSource="{Binding MyCollection}" IsSynchronizedWithCurrentItem="true">
  <ListView.View>
    <GridView>
      <GridViewColumn Header="Title" DisplayMemberBinding="{Binding Path=Title}"/>
      <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}"/>
      <GridViewColumn Header="Phone" DisplayMemberBinding="{Binding Path=Phone}"/>
      <GridViewColumn Header="E-mail" DisplayMemberBinding="{Binding Path=EMail}"/>
    </GridView>
  </ListView.View>
</ListView>

En este momento, estas columnas GridViewColumns son fijas, pero me gustaría poder cambiarlas desde ViewModel. Supongo que tendré que vincular la colección GridViewColumn a algo en ViewModel, pero ¿qué y cómo?
ViewModel no sabe nada de WPF, por lo que no tengo idea de cómo lograr esto en MVVM.

alguna ayuda aqui?

Respuestas a la pregunta(3)

Su respuesta a la pregunta