复制包含滚动条的WP UI元素的快照



我有一个WPF统一网格,其中包含要以矩阵形式显示的自定义图表控件。例如,网格将以5 x 10或用户定义的行x列格式显示图表控件。统一网格被放置在ScrollViewer中,一旦内容不适合窗口,它就会自动显示滚动条。我的意图是启用图表矩阵的"复制",这样用户就可以在MS Word/Powerpoint中粘贴所有图表。

我使用了标准的WPF UI元素代码副本。我遇到的问题是,只有当所有图表都在统一网格中可见时,副本才能正常工作。如果我得到一个滚动条,副本将只考虑可见区域,并将不可见区域(滚动条下方的区域)替换为黑点。但是,如果用户滚动条查看所有内容一次,则"复制"将正常工作(即显示网格中的所有内容)。我知道WPF只有在内容可见时才会呈现内容。

但是,在执行"复制"之前,如果不要求用户查看整个内容一次,我该如何解决问题?

  1. 使窗口大小最大化
  2. 做"复制"
  3. 恢复窗口大小

用户会注意到窗口大小的变化,但至少它是自动的(比手动改变窗口大小要好得多)

最新更新