Пример #1
0
        private void NavigateTo(Messages.NavigateTo msg)
        {
            StringBuilder navigationPage = new StringBuilder("/Views/");
            navigationPage.Append(msg.Page);
            navigationPage.Append(".xaml");

            MainContent.Navigate(new Uri(navigationPage.ToString(), UriKind.Relative));
        }
Пример #2
0
        private void NavigateTo(Messages.NavigateTo navigateToMessage)
        {
            StringBuilder uri = new StringBuilder("Views/");
            uri.Append(navigateToMessage.Page);
            uri.Append(".xaml");

            MainContent.Navigate(new Uri(uri.ToString(), UriKind.Relative));
        }
Пример #3
0
        private void SaveDocumentDialog(Messages.SavePage saveMessage)
        {
            SaveFileDialog dialog = new SaveFileDialog();
            dialog.Filter = "XPS Documents (.xps)|*.xps";
            dialog.DefaultExt = ".xps";
            dialog.FileName = "Assessment Report";

            if (dialog.ShowDialog() == true)
            {
                saveMessage.Callback(dialog.FileName);
            }
        }
Пример #4
0
        private void ShowFileDialog(Messages.ChooseFileMessage msg)
        {
            OpenFileDialog dialog = new OpenFileDialog()
            {
                Filter = msg.Extensions
            };

            if (dialog.ShowDialog() == true)
            {
                msg.ProcessResult(dialog.FileName);
            }
        }
Пример #5
-1
        private void PrintPageDialog(Messages.PrintPage printMessage)
        {
            PrintDialog printDialog = new PrintDialog();
            if (printDialog.ShowDialog() == true)
            {
                PrintCapabilities capabilities = printDialog.PrintQueue.GetPrintCapabilities(printDialog.PrintTicket);

                //get scale of the print wrt to screen of WPF visual
                double scale = Math.Min(capabilities.PageImageableArea.ExtentWidth / this.ActualWidth, capabilities.PageImageableArea.ExtentHeight /  this.ActualHeight);

                //Transform the Visual to scale
                this.LayoutTransform = new ScaleTransform(scale, scale);

                //get the size of the printer page
                Size sz = new Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);

                //update the layout of the visual to the printer page size.
                printMessage.Element.Measure(sz);
                printMessage.Element.Arrange(new Rect(new Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

                //now print the visual to printer to fit on the one page.
                printDialog.PrintVisual(printMessage.Element, printMessage.Description);
            }
            
        }