1

我有一个自定义 WPF 控件来显示使用 ItemsControl 的项目列表。ItemsPresenter 在模板中定义以显示列表,它嵌入在 ScrollViewer 中用于滚动:

<ControlTemplate TargetType="ItemsControl">
  <Grid x:Name="LayoutRoot">
    <ScrollViewer Margin="3">
       <ItemsPresenter/>
    </ScrollViewer>
  </Grid>
</ControlTemplate>

我的应用程序创建自定义控件的两个实例以并排显示列表。

我想要的是当用户在第一个上选择一个项目时,第二个控件会自动滚动,以便相同的项目显示在相对于顶部的相同位置。为了做到这一点,我需要知道

  1. 如何在第一个控件中获取所选项目的位置(以像素为单位)?
  2. 如何滚动到第二个控件中的相同位置?

还有其他方法可以做到这一点吗?

4

0 回答 0