|
@@ -922,7 +922,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
|
|
|
PageEditHistory history = new PageEditHistory();
|
|
|
history.InsertIndex = insertIndex;
|
|
|
- //插入空白页面
|
|
|
+
|
|
|
+ #region 插入空白页面
|
|
|
+
|
|
|
if ((string)type == ParameterNames.InsertType_Blank)
|
|
|
{
|
|
|
//付费锁
|
|
@@ -961,7 +963,11 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
//选中插入的页面
|
|
|
ListSelectedIndex = insertIndex;
|
|
|
}
|
|
|
- //插入文件
|
|
|
+
|
|
|
+ #endregion 插入空白页面
|
|
|
+
|
|
|
+ #region 插入文件
|
|
|
+
|
|
|
else if ((string)type == ParameterNames.InsertType_File)
|
|
|
{
|
|
|
//支持插入格式:PDF、图片、Office格式文件
|
|
@@ -1010,6 +1016,11 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
//里面附带了Undo栈记录,需要提前返回,避免重复记录
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ #endregion 插入文件
|
|
|
+
|
|
|
+ #region 插入自定义页面
|
|
|
+
|
|
|
else
|
|
|
{
|
|
|
DialogParameters keyValuePairs = new DialogParameters();
|
|
@@ -1043,6 +1054,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ #endregion 插入自定义页面
|
|
|
+
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
|
|
|
//添加记录到Undo栈,清除Redo栈
|
|
@@ -1232,24 +1246,17 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
{
|
|
|
index = DoRemoveSelectedPages();
|
|
|
}
|
|
|
-
|
|
|
- ReloadAfterOption(true, true, Tuple.Create(0, PDFViewer.Document.PageCount));
|
|
|
//删除后 选中项
|
|
|
if (index != -1)
|
|
|
{
|
|
|
- if (index == PDFViewer.Document.PageCount)
|
|
|
+ if (index <= PDFViewer.Document.PageCount)
|
|
|
{
|
|
|
- ListSelectedIndex = index - 1;
|
|
|
- }
|
|
|
- if (index > PDFViewer.Document.PageCount)
|
|
|
- {
|
|
|
- ListSelectedIndex = PDFViewer.Document.PageCount - 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ListSelectedIndex = index;
|
|
|
+ index = index + 1;
|
|
|
}
|
|
|
}
|
|
|
+ GoToPage(new List<int>() { index });
|
|
|
+ ReloadAfterOption(true, true, Tuple.Create(0, PDFViewer.Document.PageCount));
|
|
|
+
|
|
|
IsLoading = Visibility.Collapsed;
|
|
|
}
|
|
|
}
|
|
@@ -1983,7 +1990,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
history.viewmodel = this;
|
|
|
PDFViewer.UndoManager.AddHistory(history);
|
|
|
|
|
|
- //GoToPage(pageRange);
|
|
|
+ GoToPage(pageRange);
|
|
|
//刷新页码等
|
|
|
ReloadAfterOption(true, false, new Tuple<int, int>(0, PDFViewer.Document.PageCount));
|
|
|
//通知Xaml选中新增的页面,从VM设置选中项会有问题
|
|
@@ -1993,13 +2000,13 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
IsAddPages = true;
|
|
|
}
|
|
|
|
|
|
- public async void GoToPage(List<int> pageRange)
|
|
|
+ public void GoToPage(List<int> pageRange)
|
|
|
{
|
|
|
int index = pageRange.Last() - 1;
|
|
|
//跳转页面 需要写在ReloadAfterOption()之前,不然跳转失败的概率大
|
|
|
//插入页面需要重新加载 ,不然会有bug(bug:选中最后 一页,粘贴,跳转失败)
|
|
|
PDFViewer.ReloadDocument();
|
|
|
- await Task.Delay(500);
|
|
|
+ //await Task.Delay(500);
|
|
|
PDFViewer.GoToPage(index);
|
|
|
}
|
|
|
|