private void Window_Loaded(object sender, RoutedEventArgs e) { descriptionViewSource = ((CollectionViewSource)(this.FindResource("descriptionViewSource"))); descriptionCollection = new ObservableCollectionEx <description>(Entities.description); descriptionViewSource.Source = descriptionCollection; descriptionCollection.CollectionChanged += descriptionCollection_CollectionChanged; //groupsViewSource = ((CollectionViewSource)(this.FindResource("groupsViewSource"))); //groupsViewSource.Source = Entities.groups; // Формируем запрос для вывода его в queryResultsDataGrid queryResults = from Desc in Entities.description join Group in Entities.groups on Desc.id_desc equals Group.desc into CompGroups from CompGroup in CompGroups.DefaultIfEmpty() select new { desc_name = Desc.name, Desc.start_date, Desc.end_date, group_name = CompGroup.name, CompGroup.start_year, CompGroup.end_year }; queryResultsCollection.AddRange(queryResults); queryResultsViewSource = new CollectionViewSource(); (queryResultsViewSource as ISupportInitialize).BeginInit(); queryResultsViewSource.CollectionViewType = typeof(ListCollectionView); queryResultsViewSource.Source = queryResultsCollection; (queryResultsViewSource as ISupportInitialize).EndInit(); Binding myBinding = new Binding() { Source = queryResultsViewSource }; BindingOperations.SetBinding(queryResultsDataGrid, DataGrid.ItemsSourceProperty, myBinding); }