|
@@ -21,6 +21,7 @@ namespace PDF_Office.ViewModels
|
|
|
|
|
|
public class ViewContentViewModel : BindableBase, INavigationAware
|
|
public class ViewContentViewModel : BindableBase, INavigationAware
|
|
{
|
|
{
|
|
|
|
+ #region 属性、变量
|
|
private CPDFViewer PDFViewer { get; set; }
|
|
private CPDFViewer PDFViewer { get; set; }
|
|
|
|
|
|
private MainContentViewModel mainViewModel { get; set; }
|
|
private MainContentViewModel mainViewModel { get; set; }
|
|
@@ -37,12 +38,6 @@ namespace PDF_Office.ViewModels
|
|
|
|
|
|
public string ToolContentRegionName { get; set; }
|
|
public string ToolContentRegionName { get; set; }
|
|
|
|
|
|
- public DelegateCommand LoadFile { get; set; }
|
|
|
|
-
|
|
|
|
- public DelegateCommand Load { get; set; }
|
|
|
|
-
|
|
|
|
- public DelegateCommand<object> TabControlSelectionChangedCommand { get; set; }
|
|
|
|
-
|
|
|
|
|
|
|
|
private int gridToolRow = 1;
|
|
private int gridToolRow = 1;
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -72,7 +67,7 @@ namespace PDF_Office.ViewModels
|
|
|
|
|
|
private Visibility toolContentVisible = Visibility.Visible;
|
|
private Visibility toolContentVisible = Visibility.Visible;
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 控制Content的显示
|
|
|
|
|
|
+ /// 控制Content的显示 用于显示水印、贝茨码、密文等功能模块
|
|
/// 留意:显示前需要先注入内容、设置好行和跨行数
|
|
/// 留意:显示前需要先注入内容、设置好行和跨行数
|
|
/// </summary>
|
|
/// </summary>
|
|
public Visibility ToolContentVisible
|
|
public Visibility ToolContentVisible
|
|
@@ -84,15 +79,26 @@ namespace PDF_Office.ViewModels
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 用来避免重复触发导航事件的标志符
|
|
|
|
+ /// </summary>
|
|
private bool isOpenFile = false;
|
|
private bool isOpenFile = false;
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 鼠标滚轮缩放的缩放值
|
|
/// 鼠标滚轮缩放的缩放值
|
|
/// </summary>
|
|
/// </summary>
|
|
private double[] zoomLevel = { 1.00f, 10, 25, 50, 75, 100, 125, 150, 200, 300, 400, 600, 800, 1000 };
|
|
private double[] zoomLevel = { 1.00f, 10, 25, 50, 75, 100, 125, 150, 200, 300, 400, 600, 800, 1000 };
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region 命令
|
|
|
|
+ public DelegateCommand LoadFile { get; set; }
|
|
|
|
|
|
- public ViewContentViewModel(IRegionManager regionManager,IDialogService dialogService)
|
|
|
|
|
|
+ public DelegateCommand Load { get; set; }
|
|
|
|
+
|
|
|
|
+ public DelegateCommand<object> TabControlSelectionChangedCommand { get; set; }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ public ViewContentViewModel(IRegionManager regionManager, IDialogService dialogService)
|
|
{
|
|
{
|
|
region = regionManager;
|
|
region = regionManager;
|
|
dialogs = dialogService;
|
|
dialogs = dialogService;
|
|
@@ -104,6 +110,7 @@ namespace PDF_Office.ViewModels
|
|
ViwerRegionName = Guid.NewGuid().ToString();
|
|
ViwerRegionName = Guid.NewGuid().ToString();
|
|
BOTARegionName = Guid.NewGuid().ToString();
|
|
BOTARegionName = Guid.NewGuid().ToString();
|
|
PropertyRegionName = Guid.NewGuid().ToString();
|
|
PropertyRegionName = Guid.NewGuid().ToString();
|
|
|
|
+ //未显示时无法注册上Region名称
|
|
ToolContentVisible = Visibility.Visible;
|
|
ToolContentVisible = Visibility.Visible;
|
|
ToolContentRegionName = Guid.NewGuid().ToString();
|
|
ToolContentRegionName = Guid.NewGuid().ToString();
|
|
ToolContentVisible = Visibility.Collapsed;
|
|
ToolContentVisible = Visibility.Collapsed;
|
|
@@ -128,19 +135,23 @@ namespace PDF_Office.ViewModels
|
|
region.AddToRegion(ViwerRegionName, PDFViewer);
|
|
region.AddToRegion(ViwerRegionName, PDFViewer);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 选项卡切换事件
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="e"></param>
|
|
private void TabControlSelectonChangedEvent(object e)
|
|
private void TabControlSelectonChangedEvent(object e)
|
|
{
|
|
{
|
|
var args = e as SelectionChangedEventArgs;
|
|
var args = e as SelectionChangedEventArgs;
|
|
- if(args!=null)
|
|
|
|
|
|
+ if (args != null)
|
|
{
|
|
{
|
|
var item = args.AddedItems[0] as TabItem;
|
|
var item = args.AddedItems[0] as TabItem;
|
|
- if(item.Name=="TabItemPageEdit")
|
|
|
|
|
|
+ if (item.Name == "TabItemPageEdit")
|
|
{
|
|
{
|
|
- EnterPageEdit();
|
|
|
|
|
|
+ EnterToolMode("PageEditContent");
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- ExitPageEdit();
|
|
|
|
|
|
+ ExitToolMode();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -194,7 +205,7 @@ namespace PDF_Office.ViewModels
|
|
mainViewModel = mainVM;
|
|
mainViewModel = mainVM;
|
|
}
|
|
}
|
|
var pdfview = navigationContext.Parameters[ParameterNames.PDFViewer] as CPDFViewer;
|
|
var pdfview = navigationContext.Parameters[ParameterNames.PDFViewer] as CPDFViewer;
|
|
- if (pdfview!=null)
|
|
|
|
|
|
+ if (pdfview != null)
|
|
{
|
|
{
|
|
PDFViewer = pdfview;
|
|
PDFViewer = pdfview;
|
|
loadFile();
|
|
loadFile();
|
|
@@ -215,6 +226,7 @@ namespace PDF_Office.ViewModels
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
+ #region 方法
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 显示前添加内容到Region
|
|
/// 显示前添加内容到Region
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -222,18 +234,18 @@ namespace PDF_Office.ViewModels
|
|
private void ShowToolContent(bool isPageEdit = true)
|
|
private void ShowToolContent(bool isPageEdit = true)
|
|
{
|
|
{
|
|
//显示页面编辑
|
|
//显示页面编辑
|
|
- if(isPageEdit)
|
|
|
|
|
|
+ if (isPageEdit)
|
|
{
|
|
{
|
|
- if(GridToolRow!=1)
|
|
|
|
|
|
+ if (GridToolRow != 1)
|
|
{
|
|
{
|
|
GridToolRow = 1;
|
|
GridToolRow = 1;
|
|
}
|
|
}
|
|
|
|
|
|
- if(GridToolRowSpan!=3)
|
|
|
|
|
|
+ if (GridToolRowSpan != 3)
|
|
{
|
|
{
|
|
GridToolRowSpan = 3;
|
|
GridToolRowSpan = 3;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -245,25 +257,42 @@ namespace PDF_Office.ViewModels
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 进入页面编辑模式
|
|
|
|
|
|
+ /// 进入工具编辑(如页面编辑、水印、密文等)模式
|
|
/// </summary>
|
|
/// </summary>
|
|
- private void EnterPageEdit()
|
|
|
|
|
|
+ /// <param name="targetToolMode">要导航过去的控件名称</param>
|
|
|
|
+ /// <param name="valuePairs">导航需要传送的参数,为空时,默认传送PDFView和ViewContentViewModel</param>
|
|
|
|
+ private void EnterToolMode(string targetToolMode, NavigationParameters valuePairs = null)
|
|
{
|
|
{
|
|
NavigationParameters param = new NavigationParameters();
|
|
NavigationParameters param = new NavigationParameters();
|
|
- param.Add(ParameterNames.PDFViewer, PDFViewer);
|
|
|
|
- param.Add(ParameterNames.ViewContentViewModel,this);
|
|
|
|
- region.RequestNavigate(ToolContentRegionName, "PageEditContent" , param);
|
|
|
|
- ShowToolContent();
|
|
|
|
-
|
|
|
|
|
|
+ if (valuePairs == null)
|
|
|
|
+ {
|
|
|
|
+ param.Add(ParameterNames.PDFViewer, PDFViewer);
|
|
|
|
+ param.Add(ParameterNames.ViewContentViewModel, this);
|
|
|
|
+ }
|
|
|
|
+ else//有传入其他内容的参数时
|
|
|
|
+ {
|
|
|
|
+ param = valuePairs;
|
|
|
|
+ }
|
|
|
|
+ region.RequestNavigate(ToolContentRegionName, targetToolMode, param);
|
|
|
|
+
|
|
|
|
+ if (targetToolMode == "PageEditContent")
|
|
|
|
+ {
|
|
|
|
+ ShowToolContent();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ ShowToolContent(false);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
- /// 退出页面编辑模式,隐藏ToolContent
|
|
|
|
|
|
+ /// 退出工具(水印、密文等)编辑模式,隐藏ToolContent
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
|
- public void ExitPageEdit()
|
|
|
|
|
|
+ public void ExitToolMode()
|
|
{
|
|
{
|
|
ToolContentVisible = Visibility.Collapsed;
|
|
ToolContentVisible = Visibility.Collapsed;
|
|
}
|
|
}
|
|
|
|
+ #endregion
|
|
}
|
|
}
|
|
}
|
|
}
|