在Silverlight中实现像ancher这样的html是一种简单的方法吗?

时间:2014-08-11 02:10:03

标签: silverlight

我想要一个带有按钮的导航面板来控制滚动查看器的滚动条位置。按钮效果将像html页面中的ancher一样。如果单击一个按钮,则内容将滚动到滚动查看器中的相对位置。这是一种简单的方法吗?

--------------------------------------------
|Button0 |   Button 0 relative content    | |
|Button1 |   ...                          | |
|Button2 |   ...                          |-|
|---------   ...                          |||
|                                         |||  <--the scrollbar
|            ...                          |-|
|            Button 1 relative content    | |
|            ...                          | |
|            ...                          | |
|            Button 2 relative content    | |
---------------------------------------------

提前致谢!

1 个答案:

答案 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