none
怎么精确定位ScrollViewer控件中的控件 RRS feed

  • 问题

  • 有没有什么办法直接获取里面的控件在ScrollViewer中的水平或者垂直距离?

    具体例子QQ设置面板



    • 已编辑 Enious 2016年8月26日 8:47
    2016年8月26日 8:44

答案

  • Hi Enious

    通过TransformToVisual来获取:

    var transform = element.TransformToVisual((UIElement)scrollViewer.Content);
    var position = transform.TransformPoint(new Point(0, 0));

    其中scrollViewer 是ScrollViewer,element 是要获取的控件。

    如果需要把ScrollViewer滚动到这个控件的位置,可以用 ChangeView 方法。


    希望我的答案能帮助更多的人。


    2016年8月26日 9:10
    版主

全部回复

  • Hi Enious

    通过TransformToVisual来获取:

    var transform = element.TransformToVisual((UIElement)scrollViewer.Content);
    var position = transform.TransformPoint(new Point(0, 0));

    其中scrollViewer 是ScrollViewer,element 是要获取的控件。

    如果需要把ScrollViewer滚动到这个控件的位置,可以用 ChangeView 方法。


    希望我的答案能帮助更多的人。


    2016年8月26日 9:10
    版主
  • 太感谢了版主大大,自己看
    scrollViewer的介绍,看了半天,不知道用哪一个,

    • 已编辑 Enious 2016年8月26日 9:55
    2016年8月26日 9:55
  • 不客气,很高兴对你有所帮助,有问题欢迎再来讨论。


    希望我的答案能帮助更多的人。

    2016年8月26日 10:11
    版主