WPF保存包含Winform控件的XAML页面问题

最近的工作中,用到了WPF调用Winform控件

但是在保存XAML页面的时候发现了问题,就是Winform页面黑黑的,没有任何渲染的波形曲线。

查了原因,大概的意思是指渲染的方式不一样,所以会有这个问题,那只能转变思路,用截图的方式去做,就是把要打印的XAML里的控件,进行按照Windows定位,然后进行截图,保存。

复制代码
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页面的时候,也有这个问题,用了截图的方式进行打印内容的填充。

 

posted @   眾尋  阅读(406)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2016-09-21 带搜索的ComboBox
点击右上角即可分享
微信分享提示
主题色彩