示例#1
0
        public static void PrintPicture(BitmapImage bitmapImage)
        {
            var config = new PrintConfig()
            {
                DataSource     = bitmapImage,
                DataSourceType = DataSourceTypeDefine.Image
            };

            var viewModel = new PrintPreviewViewModel(config);

            var view = new PrintPreviewView(viewModel);

            view.ShowDialog();
        }
示例#2
0
        public static void PrintDataTable(DataTable dt)
        {
            var config = new PrintConfig()
            {
                DataSource     = dt,
                DataSourceType = DataSourceTypeDefine.DataTable
            };

            var viewModel = new PrintPreviewViewModel(config);

            var view = new PrintPreviewView(viewModel);

            view.ShowDialog();
        }
示例#3
0
        public static void PrintControl(FrameworkElement element)
        {
            //将控件转化为图片...
            var rt = new RenderTargetBitmap((int)element.ActualWidth, (int)element.ActualHeight, 96, 96, PixelFormats.Pbgra32);

            rt.Render(element);

            var encoder = new PngBitmapEncoder();

            encoder.Frames.Add(BitmapFrame.Create(rt));
            var bitmapImage = new BitmapImage();

            using (Stream stream = new MemoryStream())
            {
                encoder.Save(stream);

                stream.Seek(0, SeekOrigin.Begin);
                stream.Position = 0;
                bitmapImage.BeginInit();
                bitmapImage.CacheOption  = BitmapCacheOption.OnLoad;
                bitmapImage.StreamSource = stream;
                bitmapImage.EndInit();
            }

            var config = new PrintConfig()
            {
                DataSource     = bitmapImage,
                DataSourceType = DataSourceTypeDefine.Image
            };

            var viewModel = new PrintPreviewViewModel(config);

            var view = new PrintPreviewView(viewModel);

            view.ShowDialog();
        }