Если так, как вижу, я бы побольше ячеек сделал бы фиксированной ширины и высоты и использовал бы объединение ячеек, соответственно Grid.RowSpan и Grid.ColumnSpan.
Скриншоты зло. У тебя код выплюнул исключение, а главная причина, в InnerException, который обрезал и не показал. Долго будешь ответ на вопрос ждать, телепатов нет тут.