将ListView的所有内容导出为Png

Exporting all content of ListView as Png

我正在构建一个包含看板的应用程序,我想将其导出为 PNG 图像。该板由卡片状态(待办事项、正在做等)的 ListView 组成,其中每一个都是包含相同状态卡片的 ListView。 我已经能够使用 RenderTargetBitmap 将电路板导出为图像,但是,输出将具有可见的内容。相反,我想要一张包含所有卡片的图像。

老实说,我不认为这很简单,因为首先在页面上只呈现可见的卡片,但我想知道是否有不同的方法来解决这个问题。

这就是导出的电路板目前的样子

Exporting all content of ListView as Png

目前,UWP 没有这样的api 来获取长截图。恐怕你不能接近 RenderTargetBitmap class.

并且我们可以想象,如果我们能够缩放当前视图,并使所有内容显示在当前window,那么我们就可以获得完整的屏幕截图。所以我们可以尝试在 ScrollViewer and set it ZoomMode as enable. Just call ChangeView 方法中放置 above all 给它一个合适的 ZoomFactor 值来在可见的地方显示所有内容。

<ScrollViewer ZoomMode="Enabled" >
    <Grid>
        <ListView>
           

请注意,这种方式将禁用列表视图的 ui 虚拟化。如果我们缩放scrollviewer,当前windows的有效像素会更低。

如果您确实想要此功能,请随时 post 您的要求ui通过 windows 反馈中心进行评论。