private void DoInterleavedDelete()
        {
            try
            {
                Logger.LogFuncUp();

                foreach (var filmPage in filmingCard.ActiveFilmingPageList.Skip(1))  //不用处理第一张为BreakFilmPage的情况
                {
                    if (filmPage.FilmPageType == FilmPageType.BreakFilmPage)
                    {
                        filmPage.FilmPageType = FilmPageType.NormalFilmPage;
                        if (filmPage.FilmPageIndex - 1 >= 0 && filmPage.FilmPageIndex < filmingCard.EntityFilmingPageList.Count)
                        {
                            filmingCard.EntityFilmingPageList[filmPage.FilmPageIndex - 1].SetPageBreakLabel(false);
                        }
                    }
                }

                var selectedCells = filmingCard.CollectSelectedCells();
                var every         = ViewModel.Every;
                for (int i = 0; i < selectedCells.Count; i++)
                {
                    if (i % every != 0)
                    {
                        selectedCells[i].IsSelected = false;
                        selectedCells[i].Image.Clear();
                        selectedCells[i].Refresh();
                    }
                }

                filmingCard.UpdateImageCount();

                if (filmingCard.IsEnableRepack)
                {
                    filmingCard.contextMenu.Repack(RepackMode.RepackMenu);
                }
                else
                {
                    filmingCard.EntityFilmingPageList.UpdatePageLabel();
                }
                filmingCard.UpdateUIStatus();

                //todo: performance optimization begin pageTitle
                filmingCard.EntityFilmingPageList.ForEach((film) => film.RefereshPageTitle());
                //todo: performance optimization end

                Logger.LogFuncDown();
            }
            catch (Exception ex)
            {
                Logger.LogFuncException(ex.Message);
            }
        }
Example #2
0
        private void ItemBtn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Logger.LogFuncUp();
                var btn   = sender as Button;
                var index = btn.TabIndex;
                if (filmingCard.IsModalityDBT())
                {
                    filmingCard.layoutCtrl.ViewportLayoutActiveFilmingPages(DefaultButtonCellLayoutForDBT[index - 1]);
                }
                else
                {
                    filmingCard.layoutCtrl.ViewportLayoutActiveFilmingPages(DefaultButtonCellLayout[index - 1]);
                }
                filmingCard.UpdateUIStatus();

                Logger.LogFuncDown();
            }
            catch (Exception ex)
            {
                Logger.LogFuncException(ex.Message + ex.StackTrace);
            }
        }