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

时间:2012-01-20 07:13:13

标签: wpf copy scrollviewer snapshot

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

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

但是,在执行“复制”之前,如何在不要求用户查看整个内容的情况下解决问题的方法是什么?

1 个答案:

答案 0 :(得分:0)

  1. 使窗口大小最大化
  2. 执行“复制”
  3. 恢复窗口大小
  4. 用户会注意到窗口大小的变化,但至少它是自动的(比手动更改窗口大小要好得多)