Сетка wpf с динамическими столбцами

У меня есть коллекция, которую я хочу привязать к сетке WPF.

Проблема яm сталкивается с тем, что количество столбцов является динамическим и зависит от коллекции. Вот простой макет:

public interface IRows
{
    string Message{get;}
    IColumns[] Columns{get;}
}

public interface IColumns
{
    string Header {get;}
    AcknowledgementState AcknowledgementState{get;}
}

public interface IViewModel
{
    ObservableCollection Rows {get;}
}

Я хочу, чтобы мое представление связывалось с коллекцией строк, которая содержит коллекцию столбцов.

Коллекция My Columns содержит перечисление, которое должно быть представлено изображением (1 из 3 вариантов). Он также содержит свойство Message, которое должно отображаться только в одном столбце (статическое и представляет собой просто некоторую текстовую информацию). Он также содержит строку заголовка, которая должна отображаться в качестве заголовка для этого столбца.

Обратите внимание, что число столбцов является переменным (на данный момент заголовки установлены в Подтверждение, но это изменится для представления динамических данных).

Обновление: это после реализации предложений от Рэйчел

    
  
    
      
    
  
  
    
      
      
    
  
  
    
      
        
          
            
          
          
            
          
        
      
    
  

Это почти дает мне то, что я хочу сейчас. Я'Я застрял только с тем, что я должен сделать для заголовков. Любые предложения приветствуются.

Ответы на вопрос(4)

Ваш ответ на вопрос