|
@@ -1035,8 +1035,24 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
IsLoading = Visibility.Visible;
|
|
|
await Task.Delay(3);
|
|
|
- DoRemoveSelectedPages();
|
|
|
+ int index = DoRemoveSelectedPages();
|
|
|
ReloadAfterOption(true, true, Tuple.Create(0, PDFViewer.Document.PageCount));
|
|
|
+ //删除后 选中项
|
|
|
+ if (index!=-1)
|
|
|
+ {
|
|
|
+ if(index== PDFViewer.Document.PageCount)
|
|
|
+ {
|
|
|
+ ListSelectedIndex = index - 1;
|
|
|
+ }
|
|
|
+ if (index > PDFViewer.Document.PageCount)
|
|
|
+ {
|
|
|
+ ListSelectedIndex = PDFViewer.Document.PageCount-1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ListSelectedIndex = index;
|
|
|
+ }
|
|
|
+ }
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
}
|
|
@@ -1329,7 +1345,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
TbPageRange = (listSelecedIndex + 1).ToString();
|
|
|
//缩放 平移移动页面,页面大小出现不全的问题
|
|
|
- //listbox.ScrollIntoView(listbox.SelectedItems[0]);
|
|
|
+ listbox.ScrollIntoView(listbox.SelectedItems[0]);
|
|
|
//需要刷新 startRefreshIndex 、endRefreshedIndex
|
|
|
//NotifyUIToRefresh();
|
|
|
//保险起见,暂时只能用这个方法
|
|
@@ -1871,12 +1887,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// 删除选中项的方法 不带Reload操作
|
|
|
/// 方便其他逻辑中调用
|
|
|
/// </summary>
|
|
|
- private void DoRemoveSelectedPages(List<int> pageList = null, bool isFromUndoRedo = false)
|
|
|
+ private int DoRemoveSelectedPages(List<int> pageList = null, bool isFromUndoRedo = false)
|
|
|
{
|
|
|
if (!ServiceHelper.IAPBeforeFunction())
|
|
|
{
|
|
|
- return;
|
|
|
+ return -1;
|
|
|
}
|
|
|
+ //删除后 的选中项
|
|
|
+ int index = maxSelectedIndex;
|
|
|
|
|
|
List<int> indexList = new List<int>();
|
|
|
if (pageList == null || pageList.Count < 0)
|
|
@@ -1908,14 +1926,14 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
AlertsMessage alertsMessage = new AlertsMessage();
|
|
|
alertsMessage.ShowDialog("", App.MainPageLoader.GetString("PageEdit_DeleteAllPage"), App.ServiceLoader.GetString("Text_ok"));
|
|
|
- return;
|
|
|
+ return -1;
|
|
|
}
|
|
|
|
|
|
var result = PDFViewer.Document.RemovePages(indexList.ToArray());
|
|
|
if (!result)
|
|
|
{
|
|
|
ShowToast();
|
|
|
- return;
|
|
|
+ return -1;
|
|
|
}
|
|
|
|
|
|
//文档层操作成功后再删除UI层
|
|
@@ -1932,6 +1950,11 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
//this.CanUndo = false;
|
|
|
//this.CanRedo = false;
|
|
|
}
|
|
|
+ if (index == -1)
|
|
|
+ {
|
|
|
+ index = indexList.Last();
|
|
|
+ }
|
|
|
+ return index;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|