在WPF中,我有一个滚动查看器中有7个不同的groupboxes。每个组框都是针对不同形式的自己的单独部分。由于滚动查看器很长,我在面板左侧的一个堆栈面板中放置了一系列按钮,并且完成了代码隐藏,因此单击按钮会触发相应groupbox的BringIntoView方法。BringIntoView方法
我的问题是,有没有办法强制BringIntoView每次在可见部分的顶部放置groupbox。默认情况下,BringIntoView只会移动滚动查看器,直到整个组框处于视图中,而不是显示最顶端的项目。有没有解决的办法?
我看着使用ScrollToVerticalOffset,但无法弄清楚如何获得正确的位置,主要是因为它说groupbox没有Locate属性,我将用它来获取位置,然后使用ScrollToVerticalOffset 。我在输入时想到的一件事就是先按下每个按钮,然后立即继续到正确的一个,但这看起来有点像黑客,我更喜欢找到正确的方法。 :)
只是一个建议的话,如何少一点代码,并将第一段分解成更小的更容易理解的段落。否则,我们只有一段文字和一段代码,不会吸引太多注意力,并会让人们失望。阅读Jon Skeets关于如何在这里提出完美问题的优秀帖子:http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx – Kev
+1编辑和增强问题 – SvenG