c# - 如何在运行时创建 WPF UserControl 的图像

标签 c# wpf optimization user-controls wpf-controls

我创建了一个 WPF 应用程序,它有一个 Canvas,我在上面放置了 UserControls,它可以由用户移动和调整大小(就像 Windows 窗口一样)。现在我发现这在旧 PC 上可能会非常慢,这是一个问题。

作为解决方案,我考虑生成一个显示 UserControl 的图形并在调整大小/拖动控件时显示它,以防止 WPF 永久重新计算所有元素。唯一的问题是我不知道如何生成这张图片。

在 .Net 中是否有类似函数的功能?或者我自己怎么能做到这一点?

最佳答案

您可以使用 RenderTargetBitmap 将 WPF 控件呈现为位图, 然后可以将该图像复制到剪贴板、保存到文件或用作 GUI 的一部分

查看 Get a bitmap image from a Control view

请注意,当您尝试呈现的控件部分不可见时(可能在滚动查看器中),您可能会遇到问题

关于c# - 如何在运行时创建 WPF UserControl 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5403831/

相关文章:

objective-c - ios 8 iPhone 6/6+ 中的 UI 元素模糊

c# - 使用 string.IsNullOrWhiteSpace 时如何处理 Code Contracts 警告 CC1036?

c# - 为什么这个 WebRequest 代码很慢?

wpf - 如何使用 teststack 获取 WPF TextBlock

c# - 是否可以在 WPF 中使用反射绑定(bind)到属性?

wpf - 使用主题后列表框不水平显示项目

c# - 从 Entity Framework 中的集合加载相关实体

c# - YouTube C# API V3,如何删除没有ID的部分上传视频?

Django:使用整数设置外键?

Java代码优化(jsoup)