WPF保存包含Winform控件的XAML頁面問題

最近的工做中,用到了WPF調用Winform控件spa

可是在保存XAML頁面的時候發現了問題,就是Winform頁面黑黑的,沒有任何渲染的波形曲線。code

查了緣由,大概的意思是指渲染的方式不同,因此會有這個問題,那隻能轉變思路,用截圖的方式去作,就是把要打印的XAML裏的控件,進行按照Windows定位,而後進行截圖,保存。orm

public static System.Drawing.Bitmap GetScreenSnapshot(FrameworkElement fe)
        {
            try
            {
                //轉換到屏幕座標系之後,進行截圖
                Point point = fe.PointToScreen(new Point(0, 0));
                System.Drawing.Rectangle rc = new System.Drawing.Rectangle((int)point.X, (int)point.Y, (int)fe.ActualWidth, (int)fe.ActualHeight);
                var bitmap = new System.Drawing.Bitmap(rc.Width, rc.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);

                using (System.Drawing.Graphics memoryGrahics = System.Drawing.Graphics.FromImage(bitmap))
                {
                    memoryGrahics.CopyFromScreen(rc.X, rc.Y, 0, 0, rc.Size, System.Drawing.CopyPixelOperation.SourceCopy);
                }
                return bitmap;
            }
            catch (Exception ex)
            {
                return null;
            }
        }

一樣的,打印XAML頁面的時候,也有這個問題,用了截圖的方式進行打印內容的填充。blog

相關文章
相關標籤/搜索