0

Класс PageStudents тут вывожу имена студентов

 public partial class PageStudents : Page
    {
        public static TitleStudentEntities DataEntitlesStudents { get; set; }
        ObservableCollection<Student> ListStudents;
    private bool isDirty = true;
    public PageStudents()
    {
        DataEntitlesStudents = new TitleStudentEntities();
        InitializeComponent();
        ListStudents = new ObservableCollection&lt;Student&gt;();
    }
    private void Page_Loaded(Object sender, RoutedEventArgs e)
    {
        var students = DataEntitlesStudents.Students;
        var queryStudents = from Student in students
                            orderby Student.name
                            select Student;
        foreach (Student emp in queryStudents)
        {
            ListStudents.Add(emp);

        }
        DataGridStudents.ItemsSource = ListStudents;
    }


}

}

Класс ListGroup этим пытаюсь вывести название группы но выводит только самое первое значение

class ListGroup : ObservableCollection<Group>
    {
        public ListGroup()
        {
            DbSet<Group> groups = PageStudents.DataEntitlesStudents.Groups;
            var queryGroup = from Group in groups select Group;
            foreach (Group group1 in queryGroup)
            {
                this.Add(group1);
            }
        }
    }

Привязка столбца dataGrid при наведении на Binding groupName пишет элемент не найден в контексте ListGroup

 <DataGridTextColumn  Header="Группа" Binding="{Binding groupName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Source={StaticResource listGroup }}"></DataGridTextColumn>
frik
  • 11
  • 1
    public static TitleStudentEntities - плохо, это сразу говорит о том, что у вас проблема в построении архитектуры проекта. Page - тоже не лучший выбор в WPF. from Student in students -> var queryStudents = students.OrderBy(x=>x.Name);. DataGridStudents.ItemsSource - это должно быть задано лишь раз, как DataContext окна. Весь код в PageStudents - его лучше вынести в отдельный клсс, не смешивайте UI и логику, сильно пожалеете потом. ObservableCollection<Group> - зачем? Source={StaticResource listGroup } - зачем? – EvgeniyZ May 04 '21 at 09:32
  • Source={StaticResource listGroup } это сслыка на класс – frik May 04 '21 at 09:33
  • 1
    И зачем она там? Вы "ссылку на класс" сделали здесь DataGridStudents.ItemsSource = ListStudents;, то есть ваш DataGrid взял ListStudents как источник данных, далее вам надо привязывать колонки к свойствам, которые находятся внутри ListStudents, например {Binding Name}, а для чего-то в привязке понаписали кучу лишнего. Исправляйте все недочеты, о которых я вам сказал и будет работать. – EvgeniyZ May 04 '21 at 09:40
  • В общем и целом привязка к коллкции делается как-то так или даже так. – aepot May 04 '21 at 09:47

0 Answers0