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.Vertical: //垂直分屏 HorizontalSplitter.Visibility = Visibility.Collapsed; VerticalSplitter.Visibility = Visibility.Visible; RowRight.Height = new GridLength(0); ColumnBottom.Width = new GridLength(0,GridUnitType.Star); Grid.SetColumn(SplitPDFViewer,0); Grid.SetRow(SplitPDFViewer,2); break; case EventAggregators.SplitMode.Horizontal: HorizontalSplitter.Visibility = Visibility.Visible; VerticalSplitter.Visibility = Visibility.Collapsed; RowRight.Height = new GridLength(0, GridUnitType.Star); ColumnBottom.Width = new GridLength(0); 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); ColumnBottom.Width = new GridLength(0); 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(); } } } } }