コード例 #1
0
ファイル: PdfViewerViewModel.cs プロジェクト: uDevDE/ERP
 public void Add(PdfPageControl pdfPageControl)
 {
     if (Pages.Contains(pdfPageControl))
     {
         return;
     }
     Pages.Add(pdfPageControl);
 }
コード例 #2
0
ファイル: PdfPageViewModel.cs プロジェクト: uDevDE/ERP
 public void Add(PdfPageControl pageControl)
 {
     if (_pages.Add(pageControl))
     {
         if (pageControl.Page.Size.Width > MaxPageSize.Width)
         {
             MaxPageSize = pageControl.Page.Size;
         }
         PageCount++;
     }
 }
コード例 #3
0
ファイル: PdfViewerViewModel.cs プロジェクト: uDevDE/ERP
        public PdfPageControl GetCurrentPage()
        {
            double         val    = double.MaxValue;
            PdfPageControl result = null;

            foreach (var page in Pages)
            {
                if (page.PageLoaded && page.DistanceY < val)
                {
                    val    = page.DistanceY;
                    result = page;
                }
            }

            CurrentPage = result;
            return(result);
        }
コード例 #4
0
ファイル: PdfPageViewModel.cs プロジェクト: uDevDE/ERP
        public PdfPageControl GetCurrentPage()
        {
            double         val    = double.MaxValue;
            PdfPageControl result = null;

            foreach (var item in _pages.Items)
            {
                foreach (var pageControl in item.Items)
                {
                    if (pageControl.PageLoaded && pageControl.DistanceY < val)
                    {
                        val    = pageControl.DistanceY;
                        result = pageControl;
                    }
                }
            }

            CurrentPage = result;
            return(result);
        }
コード例 #5
0
ファイル: PdfViewerControl.xaml.cs プロジェクト: uDevDE/ERP
        private async void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            if (IsMainPdfFile == true)
            {
                ButtonClose.IsEnabled = false;
            }

            if (File != null && !PageLoaded && !_loadedFiles.Contains(File.Path))
            {
                _loadedFiles.Add(File.Path);
                var pdfDocument = await PdfDocument.LoadFromFileAsync(File);

                var pageCount = pdfDocument.PageCount;
                NumberBoxPageNumber.Maximum = pageCount;
                PageLoaded = true;

                if (pageCount == 1)
                {
                    await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { LoadingControl.IsLoading = true; });
                }

                for (uint i = 0; i < pdfDocument.PageCount; i++)
                {
                    var page = pdfDocument.GetPage(i);
                    if (page != null)
                    {
                        var pdfPageControl = new PdfPageControl();
                        await pdfPageControl.Load(page);

                        ViewerPageViewModel.Pages.Add(pdfPageControl);
                    }
                }

                if (pageCount == 1)
                {
                    await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { LoadingControl.IsLoading = false; });
                }
                PdfLoaded = true;
            }
        }