|
@@ -18,6 +18,7 @@ using ComPDFKitViewer.PdfViewer;
|
|
|
using Dragablz;
|
|
|
using System.Windows;
|
|
|
using Prism.Ioc;
|
|
|
+using PDF_Office.CustomControl;
|
|
|
|
|
|
namespace PDF_Office.ViewModels
|
|
|
{
|
|
@@ -37,20 +38,24 @@ namespace PDF_Office.ViewModels
|
|
|
{
|
|
|
CurrentPDFViewer = pdfviewer;
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ CurrentPDFViewer = null;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private double value = 0;
|
|
|
+ private double processvalue = 0;
|
|
|
/// <summary>
|
|
|
/// 进度条当前值
|
|
|
/// </summary>
|
|
|
public double Value
|
|
|
{
|
|
|
- get { return value; }
|
|
|
+ get { return processvalue; }
|
|
|
set
|
|
|
{
|
|
|
- SetProperty(ref value, value);
|
|
|
+ SetProperty(ref processvalue, value);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -81,6 +86,20 @@ namespace PDF_Office.ViewModels
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private bool isCloseAllEnable = false;
|
|
|
+
|
|
|
+ public bool IsCloseAllEnable
|
|
|
+ {
|
|
|
+ get { return isCloseAllEnable; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref isCloseAllEnable, value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public DelegateCommand CloseAllTabCommand { get; set; }
|
|
|
+
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 进度条关闭的事件
|
|
|
/// </summary>
|
|
@@ -131,6 +150,7 @@ namespace PDF_Office.ViewModels
|
|
|
|
|
|
AddTab = new DelegateCommand(AddTabItem);
|
|
|
CloseOCRCommand = new DelegateCommand(closeocr);
|
|
|
+ CloseAllTabCommand = new DelegateCommand(()=> { closeAllTabItem(); });
|
|
|
|
|
|
//第一次打开时需要自动加载Home页
|
|
|
if (App.IsFirstOpen)
|
|
@@ -161,6 +181,7 @@ namespace PDF_Office.ViewModels
|
|
|
private void AddTabItem()
|
|
|
{
|
|
|
region.RequestNavigate(RegionNames.MainRegion, "MainContent");
|
|
|
+ CheckViewsCount();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -174,19 +195,69 @@ namespace PDF_Office.ViewModels
|
|
|
{ ParameterNames.FilePath, filePath }
|
|
|
};
|
|
|
region.RequestNavigate(RegionNames.MainRegion, "MainContent", parameters);
|
|
|
+ CheckViewsCount();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 关闭所有页签
|
|
|
+ /// </summary>
|
|
|
+ public bool closeAllTabItem()
|
|
|
+ {
|
|
|
+ while (region.Regions[RegionNames.MainRegion].Views.Count() > 0)
|
|
|
+ {
|
|
|
+ if (CurrentPDFViewer.UndoManager.CanSave)
|
|
|
+ {
|
|
|
+ ContentResult result = ShowSaveDialog((SelectedItem.DataContext as MainContentViewModel).viewContentViewModel);
|
|
|
+ if (result == ContentResult.Cancel)
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ App.OpenedFileList.Remove(CurrentPDFViewer.Document.FilePath);
|
|
|
+ CurrentPDFViewer.CloseDocument();
|
|
|
+ region.Regions[RegionNames.MainRegion].Remove(selectedItem);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
public void CloseTabItem(object item)
|
|
|
{
|
|
|
+ if (pdfViewer != null && pdfViewer.UndoManager.CanSave)
|
|
|
+ {
|
|
|
+ ContentResult result = ShowSaveDialog((SelectedItem.DataContext as MainContentViewModel).viewContentViewModel);
|
|
|
+ if (result == ContentResult.Cancel)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ App.OpenedFileList.Remove(pdfViewer.Document.FilePath);
|
|
|
+ if (pdfViewer.Document != null)
|
|
|
+ {
|
|
|
+ pdfViewer.CloseDocument();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
if (region.Regions[RegionNames.MainRegion].Views.Count() > 1)
|
|
|
{
|
|
|
region.Regions[RegionNames.MainRegion].Remove(item);
|
|
|
+ CheckViewsCount();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
App.Current.MainWindow.Close();
|
|
|
}
|
|
|
return;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void CheckViewsCount()
|
|
|
+ {
|
|
|
+ if(region.Regions[RegionNames.MainRegion].Views.Count()>1)
|
|
|
+ {
|
|
|
+ IsCloseAllEnable = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ IsCloseAllEnable = false;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public void SelectItem(string filepath)
|
|
@@ -202,5 +273,25 @@ namespace PDF_Office.ViewModels
|
|
|
behavior.ActivateView(item);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 显示关闭询问弹窗
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="pdfViewer"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private ContentResult ShowSaveDialog(ViewContentViewModel viewContentViewModel)
|
|
|
+ {
|
|
|
+ AlertsMessage alertsMessage = new AlertsMessage();
|
|
|
+ alertsMessage.ShowDialog("关闭提示","当前文档有为保存的操作,是否需要保存?","Cancel","No","Ok");
|
|
|
+ var result = alertsMessage.result;
|
|
|
+
|
|
|
+ if (result == ContentResult.Ok)
|
|
|
+ {
|
|
|
+ var isSave = viewContentViewModel.saveFile();
|
|
|
+ if (isSave == false)
|
|
|
+ result = ContentResult.Cancel;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
}
|
|
|
}
|