WPF ListView所选项目可见

WPF ListView所选项目可见,wpf,listview,selecteditem,Wpf,Listview,Selecteditem,我有一个ListView,它的itemsource绑定了一个observedcollection <ListView Name="ShapesList" ItemsSource="{Binding ChartViewModel.ShapeList}" Grid.Row="1" Margin="10,0,10,5" SelectionMode="Multiple"> <ListView.View>

我有一个
ListView
,它的
itemsource
绑定了一个
observedcollection

 <ListView
     Name="ShapesList"
     ItemsSource="{Binding ChartViewModel.ShapeList}"
     Grid.Row="1"
     Margin="10,0,10,5"
     SelectionMode="Multiple">
     <ListView.View>
          <GridView>
                <GridView.Columns>
                     <GridViewColumn>
                           <GridViewColumn.CellTemplate>
                                 <DataTemplate>
                                       <CheckBox IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=DataContext.IsChecked, Mode=TwoWay}" Content="{Binding Path=Name, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}" />
                                   </DataTemplate>
                             </GridViewColumn.CellTemplate>
                       </GridViewColumn>
                       <GridViewColumn Header="PdC" DisplayMemberBinding="{Binding Name}" />      
               </GridView.Columns> 
             </GridView>
      </ListView.View>
  </ListView>
但即使该方法返回正确的索引,它也不起作用


提前感谢您的帮助

根据
列表视图。ScrollInToView
将要显示的对象作为其参数,而不是索引。

这是真的!ShapesList.SelectedIndex=ChartViewModel.GetIndexOfSelectedROI();ShapesList.ScrollIntoView(ShapesList.SelectedItem);解决了这个问题。谢谢
ShapesList.ScrollIntoView(ChartViewModel.GetIndexOfSelectedROI());