WPF ListView选中的项目可见

时间:2016-09-30 14:04:39

标签: wpf listview selecteditem

我有一个ListView,其ItemsSourceObservableCollection绑定。

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

此窗口有一个负责逻辑的模型:它计算ListView的选中项。我需要的是当窗口打开时,ListView的选中项目可见。

我试过

ShapesList.ScrollIntoView(ChartViewModel.GetIndexOfSelectedROI());

但它不起作用,即使该方法返回正确的索引。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

根据MSDN ListView.ScrollInToView将您想要显示的对象作为其参数,而不是索引。