public void CannotSortTest()
        {
            List <TestClass> intList = new List <TestClass>()
            {
                new TestClass()
            };
            PagedCollectionView pcv = new PagedCollectionView(intList);

            // we are not allowed to sort during an edit operation
            pcv.EditItem(pcv[0]);
            PagedCollectionViewTest.AssertExpectedException(
                new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, PagedCollectionViewResources.OperationNotAllowedDuringAddOrEdit, "Sorting")),
                delegate
            {
                pcv.SortDescriptions.Clear();
            });
            pcv.CommitEdit();

            // we are not allowed to sort during an add new operation
            pcv.AddNew();
            PagedCollectionViewTest.AssertExpectedException(
                new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, PagedCollectionViewResources.OperationNotAllowedDuringAddOrEdit, "Sorting")),
                delegate
            {
                pcv.SortDescriptions.Clear();
            });
        }
        /// <summary>
        /// This method will listen to the CurrentChanged event and will commit any add or edit
        /// operations taking place in the PagedCollectionView.
        /// </summary>
        /// <param name="sender">PagedCollectionView firing the event</param>
        /// <param name="e">CurrentChanged event args</param>
        private void CommitAddOrEditOperation(object sender, EventArgs e)
        {
            PagedCollectionView pcv = sender as PagedCollectionView;

            if (pcv != null)
            {
                if (pcv.IsAddingNew)
                {
                    pcv.CommitNew();
                }
                else if (pcv.IsEditingItem)
                {
                    pcv.CommitEdit();
                }
            }
        }