मैं अपने प्रोजेक्ट के लिए एमवीवीएम का उपयोग कर रहा हूं और मैं डेटाग्रिड के साथ अपने डेटाबेस से एक टेबल बांधने की कोशिश कर रहा हूं। लेकिन जब मैं अपना आवेदन चलाता हूं तो डाटाग्रिड खाली होता है।एमवीवीएम डाटाग्रिड बाध्यकारी
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();
}
और ViewModelBase लागू IotifyPropertyChanged।
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; }
मैं गलत क्या किया? मैंने इसे डीबगर के साथ चेक किया और डेटाकॉन्टेक्स्ट में सभी व्याख्याता शामिल हैं, लेकिन डेटाग्रिड में थ्रेड नहीं दिखाए जाते हैं।
फिर भी काम नहीं कर रहा। लेकिन अब डाटाग्रिड में केवल हेडर हैं, मेरे समाधान के साथ कम से कम खाली पंक्तियां – pawel1708hp
@ user1810239 मैंने आपको नमूना कोड बनाया है। – kmatyaszek
आपको बहुत बहुत धन्यवाद, यह काम करता है। यहां समस्या थी: // सार्वजनिक पर्यवेक्षण चयन व्याख्याता; निजी पर्यवेक्षण चयन _lecturers = नया पर्यवेक्षण चयन (); सार्वजनिक पर्यवेक्षण चयन व्याख्याता { {वापसी _ चयनकर्ता प्राप्त करें; } सेट {_lecturers = मान; } } –
pawel1708hp