I am using MVVM for my project and I am trying to link a table from my database using a DataGrid. But when I run my application, the datagrid is empty.
MainWindow.xaml.cs:
public MainWindow(){ InitializeComponent(); DataContext = new LecturerListViewModel() }
MainWindow.xaml:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Source=Lecturers}" > <DataGrid.Columns> <DataGridTextColumn Header="Name" Binding="{Binding Name}"/> <DataGridTextColumn Header="Surname" Binding="{Binding Surname}"/> <DataGridTextColumn Header="Phone" Binding="{Binding Phone_Number}" /> </DataGrid.Columns> </DataGrid>
LecturerListViewModel.cs:
public class LecturerListViewModel : ViewModelBase<LecturerListViewModel> { public ObservableCollection<Lecturer> Lecturers; private readonly DataAccess _dataAccess = new DataAccess(); public LecturerListViewModel() { Lecturers = GetAllLecturers(); }
and ViewModelBase implements INotifyPropertyChanged.
Lecturer.cs
public class Lecturer { public Lecturer(){} public int Id_Lecturer { get; set; } public string Name { get; set; } public string Surname { get; set; } public string Phone_Number { get; set; }
What did I do wrong? I tested it with debuger and the DataContext contains all the teachers, but they are not shown in the datagrid.
source share