Example #1
0
        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);
        }