示例#1
0
        /// <summary>
        /// Internal method to change the page size accordingly with the size changes in print preview window.
        /// </summary>
        /// <param name="pageHeight"></param>
        /// <param name="pageWidth"></param>
        internal void OnPageSizesChanged(double pageHeight, double pageWidth)
        {
            bool isMatch = false;

            foreach (PrintPageSize pagesize in PageSizes)
            {
                if (PageSettings.PageOrientation == PageOrientation.Portrait)
                {
                    if (pagesize.Size.Height == Math.Round(pageHeight) && pagesize.Size.Width == Math.Round(pageWidth))
                    {
                        PageSize = pagesize;
                        isMatch  = true;
                        break;
                    }
                }
                else if (this.PageSettings.PageOrientation == PageOrientation.Landscape)
                {
                    if (pagesize.Size.Height == Math.Round(pageWidth) && pagesize.Size.Width == Math.Round(pageHeight))
                    {
                        PageSize = pagesize;
                        isMatch  = true;
                        break;
                    }
                }
            }

            if (!isMatch && pageHeight.ToString() != "NaN" && pageWidth.ToString() != "NaN")
            {
                PageSize      = PageSizes.Last();
                PageSize.Size = new Size(pageWidth, pageHeight);
            }
        }
示例#2
0
 public ContinuationFormViewModel()
 {
     PageSizes = new[] { 10, 20, 30, 40, 50 };
     PageSize  = PageSizes.Last();
 }