|
@@ -129,6 +129,13 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
public ObservableCollection<string> PageRangeItems { get; set; }
|
|
|
|
|
|
#region 属性
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 增加两个变量,用于记录当前控件内已经刷新图片的索引值,用于显示页面尺寸大小时,先显示当前范围可见Item的页面尺寸
|
|
|
+ /// </summary>
|
|
|
+ private int startRefreshIndex = 0;
|
|
|
+
|
|
|
+ private int endRefreshedIndex = 0;
|
|
|
|
|
|
/// <summary>
|
|
|
/// 是否是第一次加载
|
|
@@ -2422,7 +2429,6 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
{
|
|
|
PageEditItems[i].PageNumber = i + 1;
|
|
|
- PageEditItems[i].ShowPageSize = IsShowPageSize;
|
|
|
if (IsBOTAThumb == Visibility.Visible)
|
|
|
{
|
|
|
PageEditItems[i].FontSize = 12;
|
|
@@ -2560,19 +2566,18 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
}
|
|
|
ListSelectedIndex = -1;
|
|
|
selectedPageList.Clear();
|
|
|
- RefreshPageNum();
|
|
|
- //for (int i = 0; i < PageEditItems.Count; i++)
|
|
|
- //{
|
|
|
- // PageEditItems[i].ShowPageSize = show;
|
|
|
- // if (IsBOTAThumb == Visibility.Visible)
|
|
|
- // {
|
|
|
- // PageEditItems[i].FontSize = 12;
|
|
|
- // }
|
|
|
- // else
|
|
|
- // {
|
|
|
- // PageEditItems[i].FontSize = 14;
|
|
|
- // }
|
|
|
- //}
|
|
|
+
|
|
|
+ //显示显示当前范围的item的页面尺寸,其他的Item在刷新图片时,再显示尺寸
|
|
|
+ if (startRefreshIndex <= endRefreshedIndex)
|
|
|
+ {
|
|
|
+ for (int i = startRefreshIndex; i < endRefreshedIndex; i++)
|
|
|
+ {
|
|
|
+ if (i >= 0 && i <= PageEditItems.Count - 1)
|
|
|
+ {
|
|
|
+ PageEditItems[i].ShowPageSize = IsShowPageSize;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -2637,6 +2642,8 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
/// <param name="endIndex"></param>
|
|
|
private async void RefreshItemImage(int startIndex, int endIndex)
|
|
|
{
|
|
|
+ startRefreshIndex = startIndex;
|
|
|
+ endRefreshedIndex = endIndex;
|
|
|
if (PDFViewer == null || PDFViewer.Document == null)
|
|
|
{
|
|
|
return;
|
|
@@ -2656,6 +2663,9 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
//补充判空逻辑,避免崩溃
|
|
|
continue;
|
|
|
}
|
|
|
+ //不能一次性显示页面大小,页数较多时会导致界面卡死
|
|
|
+ //每次刷新图片时,根据右键菜单状态(是否显示页面大小)来控制每个Item的页面尺寸显示
|
|
|
+ PageEditItems[i].ShowPageSize = IsShowPageSize;
|
|
|
//宽高为样式中图片控件宽高
|
|
|
if (PageEditItems[i].isVertical)
|
|
|
{
|
|
@@ -2663,6 +2673,7 @@ namespace PDF_Master.ViewModels.PageEdit
|
|
|
if (PageEditItems[i].Size.Height > rate)
|
|
|
{
|
|
|
await PDFViewer.GetThumbnail(i, (int)(PageEditItems[i].Size.Width / (PageEditItems[i].Size.Height / rate)), rate);
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|