using ComPDFKitViewer;
using ComPDFKitViewer.PdfViewer;
using PDF_Office.EventAggregators;
using PDF_Office.Model;
using PDF_Office.ViewModels;
using PDF_Office.Views.PropertyPanel.ViewModular;
using Prism.Events;
using Prism.Regions;
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Threading;
namespace PDF_Office.Views
{
///
/// Interaction logic for ViewContent
///
public partial class ViewContent : UserControl
{
private ViewContentViewModel viewModel = null;
private string unicode = "";
public ViewContent()
{
InitializeComponent();
unicode = App.mainWindowViewModel.SelectedItem.Unicode;
viewModel = (ViewContentViewModel)this.DataContext;
}
public ViewContent(IEventAggregator eventAggregator) : this()
{
eventAggregator.GetEvent().Subscribe(ChangeSplitModeUI, e => e.Unicode == unicode);
}
///
/// 根据Vm事件通知处理分屏布局的事件
///
///
private void ChangeSplitModeUI(SplitEventArgs e)
{
switch (e.Mode)
{
case EventAggregators.SplitMode.Horizontal:
//水平分屏 上下
HorizontalSplitter.Visibility = Visibility.Collapsed;
VerticalSplitter.Visibility = Visibility.Visible;
RowRight.Height = new GridLength(1, GridUnitType.Star);
ColumnBottom.Width = new GridLength(0);
Grid.SetColumn(SplitPDFViewer, 0);
Grid.SetRow(SplitPDFViewer, 2);
break;
case EventAggregators.SplitMode.Vertical:
HorizontalSplitter.Visibility = Visibility.Visible;
VerticalSplitter.Visibility = Visibility.Collapsed;
RowRight.Height = new GridLength(0);
ColumnBottom.Width = new GridLength(1, GridUnitType.Star);
Grid.SetColumn(SplitPDFViewer, 2);
Grid.SetRow(SplitPDFViewer, 0);
break;
case EventAggregators.SplitMode.Single:
default:
//退出分屏模式
HorizontalSplitter.Visibility = Visibility.Collapsed;
VerticalSplitter.Visibility = Visibility.Collapsed;
RowRight.Height = new GridLength(0,GridUnitType.Star);
ColumnBottom.Width = new GridLength(0,GridUnitType.Star);
break;
}
GridViewer.UpdateLayout();
}
///
/// 退出阅读模式
///
///
///
private void UserControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (Key.Escape == e.Key)
{
if (viewModel != null)
{
//App.IsBookMode = false;
//SetReadMode(false);
viewModel.UnReadModel();
}
}
}
}
}