Как привязать массив, List<> или ObservableCollection<> к заголовкам строки или столбца в DataGrid'е?

Описала массив типа string для заполнения им заголовков столбцов и еще один массив для заполнения заголовков строк в DataGrid, однако не могу понять, как все же отобразить данные.

Создала так же ViewModel для страницы и привязала DataContext

public class StudentPageViewModel : INotifyPropertyChanged
    {    
        private int[] marksCollection;
        public int[] MarksCollection 
        { 
            get => marksCollection;
            set
            {
                marksCollection = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MarksCollection)));
            }
        }
        private string[] gradesRowHeader;
        public string[] GradesRowHeader
        {
            get => gradesRowHeader;
            set
            {
                gradesRowHeader = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(GradesRowHeader)));
            }
        }
        private string[] gradesColumnHeader;
        public string[] GradesColumnHeader
        {
            get => gradesColumnHeader;
            set
            {
                gradesColumnHeader = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(GradesColumnHeader)));
            }
        }

        public StudentPageViewModel()
        {
            var SubjectsTitle = Observable1.electronic_DiaryEntities.Grades.Where(it => it.ID_Student == Observable1.UserID).Select(it => it.Subjects.Title).Distinct().ToArray();
            var MarksDate = Observable1.electronic_DiaryEntities.Grades.Where(it => it.ID_Student == Observable1.UserID).Select(it => it.Date.ToString()).Distinct().ToArray();
            GradesColumnHeader = MarksDate;
            GradesRowHeader = SubjectsTitle;
        }
    }

код страницы StudentsPage

public partial class StudentPage : Page
    {
        public StudentPage()
        {
            InitializeComponent();
            DataContext = new StudentPageViewModel();
        }
    }

код XAML с DataGrid'ом

<TabItem Style="{StaticResource MaterialDesignNavigationRailTabItem}" Width="125" Height="25" Header="Успеваемость">
                <DataGrid ItemsSource="{Binding MarksCollection}" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False">
                    <DataGrid.Columns>
                        <DataGridTemplateColumn>
                            <tk:DataGridTemplateColumn.HeaderTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type tk:DataGrid}}, Path=DataContext.GradesColumnHeader}"/>
                                </DataTemplate>
                            </tk:DataGridTemplateColumn.HeaderTemplate>
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding}" Width="200" />
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                    </DataGrid.Columns>
                    <tk:DataGrid.RowHeaderTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type tk:DataGridRow}}, Path=DataContext.GradesRowHeader}"></TextBlock>
                        </DataTemplate>
                    </tk:DataGrid.RowHeaderTemplate>
                </DataGrid>
            </TabItem>

Так происходит вывод введите сюда описание изображения


Ответы (0 шт):