2016-09-30 5 views
1

Ich habe eine ListView, die ItemsSource auf Bindung mit einem ObservableCollection hat.WPF ListView ausgewählten Artikel sichtbar

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

Dieses Fenster hat ein Modell verantwortlich von der Logik: Es berechnet die geprüften Artikel der ListView. Was ich brauche ist, dass wenn das Fenster geöffnet ist, das markierte Element der ListView sichtbar ist.

Ich habe versucht, mit

ShapesList.ScrollIntoView(ChartViewModel.GetIndexOfSelectedROI()); 

aber es funktioniert nicht, auch wenn das Verfahren den richtigen Index zurückgibt.

Vielen Dank im Voraus für jede Hilfe!

Antwort

2

Gemäß MSDN nimmt ListView.ScrollInToView das Objekt, das Sie als seinen Parameter sichtbar machen möchten, nicht den Index.

+0

Es ist wahr! ShapesList.SelectedIndex = ChartViewModel.GetIndexOfSelectedROI(); ShapesList.ScrollIntoView (ShapesList.SelectedItem); löste das Problem. Vielen Dank! –

Verwandte Themen