我有一个自定义 WPF 控件来显示使用 ItemsControl 的项目列表。ItemsPresenter 在模板中定义以显示列表,它嵌入在 ScrollViewer 中用于滚动:
<ControlTemplate TargetType="ItemsControl">
<Grid x:Name="LayoutRoot">
<ScrollViewer Margin="3">
<ItemsPresenter/>
</ScrollViewer>
</Grid>
</ControlTemplate>
我的应用程序创建自定义控件的两个实例以并排显示列表。
我想要的是当用户在第一个上选择一个项目时,第二个控件会自动滚动,以便相同的项目显示在相对于顶部的相同位置。为了做到这一点,我需要知道
- 如何在第一个控件中获取所选项目的位置(以像素为单位)?
- 如何滚动到第二个控件中的相同位置?
还有其他方法可以做到这一点吗?