我想要一个带有按钮的导航面板来控制滚动查看器的滚动条位置。按钮效果将像html页面中的ancher一样。如果单击一个按钮,则内容将滚动到滚动查看器中的相对位置。这是一种简单的方法吗?
--------------------------------------------
|Button0 | Button 0 relative content | |
|Button1 | ... | |
|Button2 | ... |-|
|--------- ... |||
| ||| <--the scrollbar
| ... |-|
| Button 1 relative content | |
| ... | |
| ... | |
| Button 2 relative content | |
---------------------------------------------
提前致谢!
答案 0 :(得分:1)
这有点棘手,因为实用功能没有内置(据我所知)。 目前我可以想到两个可行的解决方案:
第一个解决方案:通过UIElement.TransformToVisual Method计算内容的滚动位置 这样的事情(没有经过测试,没有做任何脑力劳动):
private void GotoContent3()
{
var generaltransform = m_content3.TransformToVisual( m_scrollviewer);
Point offset = generaltransform.Transform( new Point( 0, 0 ) );
m_scrollviewer.ScrollToVerticalOffset( offset.Y );
}
第二个解决方案(不推荐):使用列表框显示您的内容并致电ListBox.ScrollIntoView Method