using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using ComPDFKitViewer.PdfViewer;
using PDF_Office.Model;
using System.Collections.ObjectModel;
using PDF_Office.Model.PageEdit;
using Prism.Commands;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Controls.Primitives;
using System.Diagnostics;
using System.Windows.Controls;
using System.Windows.Threading;
using Prism.Events;
using PDF_Office.EventAggregators;
using System.Windows.Input;
using PDF_Office.Helper;
using Microsoft.Win32;
using ComPDFKit.PDFDocument;
namespace PDF_Office.ViewModels.PageEdit
{
public class PageEditContentViewModel : BindableBase, INavigationAware
{
private CPDFViewer PDFViewer;
private ViewContentViewModel viewContentViewModel;
private IDialogService dialogs;
private IEventAggregator eventor;
private string unicode = null;
///
/// 项数据集合
///
public ObservableCollection PageEditItems { get; set; }
///
/// 页面范围的项集合
///
public ObservableCollection PageRangeItems { get; set; }
#region 属性
///
/// 是否是第一次加载
///
private bool isFirstLoad = true;
private Visibility showTip = Visibility.Collapsed;
///
/// 是否显示渐隐提示
///
public Visibility ShowTip
{
get { return showTip; }
set
{
SetProperty(ref showTip, value);
}
}
private Visibility isLoading = Visibility.Collapsed;
///
/// 是否正在处理中
///
public Visibility IsLoading
{
get { return isLoading; }
set
{
SetProperty(ref isLoading, value);
}
}
private int listSelecedIndex;
///
/// 缩略图选中项的索引
///
public int ListSelectedIndex
{
get { return listSelecedIndex; }
set
{
SetProperty(ref listSelecedIndex, value);
//显示页面范围选择控件
TbPageRangeVisibility = Visibility.Visible;
TbPageRange = (ListSelectedIndex + 1).ToString();
TxtPageInputVisibility = Visibility.Collapsed;
}
}
private bool isMutiSelected;
///
/// 是否有多选 用于判断倒序和替换功能
///
public bool IsMutiSelected
{
get { return isMutiSelected; }
set
{
SetProperty(ref isMutiSelected, value);
}
}
private int comboxSelectIndex;
///
/// 下拉框选项集合
///
public int ComboxSelectIndex
{
get { return comboxSelectIndex; }
set
{
SetProperty(ref comboxSelectIndex, value);
//选中指定的页面范围
SuitPageRange(comboxSelectIndex);
//隐藏tb页面范围显示控件
TbPageRangeVisibility = Visibility.Collapsed;
}
}
private Visibility tbPageRangeVisibility = Visibility.Visible;
///
/// 页面范围的文本显示
///
public Visibility TbPageRangeVisibility
{
get { return tbPageRangeVisibility; }
set
{
SetProperty(ref tbPageRangeVisibility, value);
if (value == Visibility.Visible)
{
comboxSelectIndex = -1;
}
}
}
private string tbPageRange;
///
/// 页面范围显示的内容
///
public string TbPageRange
{
get { return tbPageRange; }
set
{
SetProperty(ref tbPageRange, value);
}
}
private Visibility txtPageInputVisibility = Visibility.Collapsed;
///
/// 页面自定义输入框的显示
///
public Visibility TxtPageInputVisibility
{
get { return txtPageInputVisibility; }
set
{
SetProperty(ref txtPageInputVisibility, value);
}
}
///
/// 页面缩放状态,-1 为最小值,1为最大值
///
private int zoomIndex = 0;
public int ZoomIndex
{
get { return zoomIndex; }
set
{
SetProperty(ref zoomIndex, value);
}
}
#endregion
#region 命令
public DelegateCommand