/// <summary>
        /// Changed selection in RadioButtons and reloads project
        /// </summary>
        /// <param name="e"></param>
        private void _ChangeSelectedProject(RoutedEventArgs e)
        {
            if (XceedGrid.SelectedIndex != -1)
            {
                Row row = XceedVisualTreeHelper.GetRowByEventArgs(e);

                Debug.Assert(row != null);

                // NOTE : when user clicks so fast on radio buttons sometimes row's content can't be updated in time.
                // In that case we should do nothing
                if (row.Cells[NAME_COLUMN_CAPTION].Content == null)
                {
                    return;
                }

                string checkedProjectName = row.Cells[NAME_COLUMN_CAPTION].Content.ToString();

                _LoadProject(checkedProjectName);
                try
                {
                    XceedGrid.EndEdit();
                }
                catch
                {
                    XceedGrid.CancelEdit();
                }
            }
        }
        /// <summary>
        /// Delete current project.
        /// </summary>
        private void _DeleteProject()
        {
            // deletes item in insertion row
            if (_InsertionRow.IsBeingEdited)
            {
                XceedGrid.CancelEdit();
                return;
            }

            if (XceedGrid.IsBeingEdited)
            {
                XceedGrid.CancelEdit();
            }

            string selectedProjectName = SelectedProjectName;

            if (selectedProjectName == null)
            {
                return;
            }

            bool doProcess = true;

            if (Settings.Default.IsAllwaysAskBeforeDeletingEnabled)
            {
                // show warning dialog
                doProcess = DeletingWarningHelper.Execute(selectedProjectName, "Project", "Project");
            }

            // do process
            if (doProcess)
            {
                _itemIndexToSelection = XceedGrid.SelectedIndex;

                string path = string.Empty;
                foreach (ProjectConfiguration project in App.Current.ProjectCatalog.Projects)
                {
                    if (project.Name.Equals(selectedProjectName, StringComparison.OrdinalIgnoreCase))
                    {
                        path = project.FilePath;
                        break; // NOTE: founded
                    }
                }

                try
                {
                    ProjectFactory.DeleteProject(path);
                    UpdateView();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(App.Current.MainWindow, ex.Message, (string)App.Current.FindResource("WarningMessageBoxTitle"), MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
 private void ProjectsPage_NavigationCalled(object sender, EventArgs e)
 {
     try
     {
         XceedGrid.CancelEdit();
         CanBeLeft = true;
     }
     catch
     {
         CanBeLeft = false;
     }
 }
 public void CancelObjectEditing()
 {
     XceedGrid.CancelEdit();
 }