|
@@ -5,19 +5,84 @@ using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
+using ComPDFKitViewer.PdfViewer;
|
|
|
+using PDF_Office.Model;
|
|
|
+using Prism.Commands;
|
|
|
+using System.Windows.Controls;
|
|
|
|
|
|
namespace PDF_Office.ViewModels.BOTA
|
|
|
{
|
|
|
public class BOTAContentViewModel:BindableBase, INavigationAware
|
|
|
{
|
|
|
|
|
|
- public BOTAContentViewModel()
|
|
|
+ private CPDFViewer pdfViewer { get; set; }
|
|
|
+
|
|
|
+ private IRegionManager regions { get; set; }
|
|
|
+
|
|
|
+ private ViewContentViewModel viewContentViewModel { get; set; }
|
|
|
+
|
|
|
+ private Dictionary<string, string> viewNameByTabItem { get; set; }
|
|
|
+
|
|
|
+ private string botaContentRegionName;
|
|
|
+
|
|
|
+ public string BOTAContentRegionNmae
|
|
|
{
|
|
|
+ get { return botaContentRegionName; }
|
|
|
+ set
|
|
|
+ {
|
|
|
+ SetProperty(ref botaContentRegionName, value);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ public DelegateCommand<object> TabControlSelectionChangedCommand { get; set; }
|
|
|
+
|
|
|
+ public BOTAContentViewModel(IRegionManager regionManager)
|
|
|
+ {
|
|
|
+ regions = regionManager;
|
|
|
+
|
|
|
+ BOTAContentRegionNmae = Guid.NewGuid().ToString();
|
|
|
+
|
|
|
+ InitDictionartViewNameByTabItem();
|
|
|
}
|
|
|
|
|
|
- #region Navigate
|
|
|
|
|
|
+ private void TabControlSelectionChangedEvent(object e)
|
|
|
+ {
|
|
|
+ var args = e as SelectionChangedEventArgs;
|
|
|
+ if (args != null)
|
|
|
+ {
|
|
|
+ EnterSelectedBar((args.AddedItems[0] as TabItem).Name);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 初始化名称-视图字典
|
|
|
+ /// </summary>
|
|
|
+ private void InitDictionartViewNameByTabItem()
|
|
|
+ {
|
|
|
+ viewNameByTabItem = new Dictionary<string, string>();
|
|
|
+ //绑定tabitem名字和对应的View控件名称
|
|
|
+ viewNameByTabItem.Add("TabItemThumbnail","");
|
|
|
+ viewNameByTabItem.Add("TabItemOutLine", "");
|
|
|
+ viewNameByTabItem.Add("TabItemBookMark", "");
|
|
|
+ viewNameByTabItem.Add("TabItemAnnotation", "");
|
|
|
+ viewNameByTabItem.Add("TabItemSearch", "");
|
|
|
+ viewNameByTabItem.Add("TabItemForm", "");
|
|
|
+ viewNameByTabItem.Add("TabItemSign", "");
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 导航至目标TabItem
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="currentBar"></param>
|
|
|
+ private void EnterSelectedBar(string currentBar)
|
|
|
+ {
|
|
|
+ NavigationParameters param = new NavigationParameters();
|
|
|
+ param.Add(ParameterNames.PDFViewer, pdfViewer);
|
|
|
+ regions.RequestNavigate(BOTAContentRegionNmae, viewNameByTabItem[currentBar], param);
|
|
|
+ }
|
|
|
+
|
|
|
+ #region Navigate
|
|
|
public bool IsNavigationTarget(NavigationContext navigationContext)
|
|
|
{
|
|
|
return true;
|
|
@@ -30,7 +95,16 @@ namespace PDF_Office.ViewModels.BOTA
|
|
|
|
|
|
public void OnNavigatedTo(NavigationContext navigationContext)
|
|
|
{
|
|
|
-
|
|
|
+ var contentViewModel = navigationContext.Parameters[ParameterNames.ViewContentViewModel] as ViewContentViewModel;
|
|
|
+ if (contentViewModel != null)
|
|
|
+ {
|
|
|
+ viewContentViewModel = contentViewModel;
|
|
|
+ }
|
|
|
+ var pdfview = navigationContext.Parameters[ParameterNames.PDFViewer] as CPDFViewer;
|
|
|
+ if (pdfview != null)
|
|
|
+ {
|
|
|
+ pdfViewer = pdfview;
|
|
|
+ }
|
|
|
}
|
|
|
#endregion
|
|
|
}
|