2016-09-30 18 views
1

私はItemsSourceObservableCollectionを持つListViewを持っています。WPF ListViewの選択項目が表示されます

<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()); 

と試みたが、それは方法が正しいインデックスを返した場合でも、動作しません。

ありがとうございました!

答えて

2

MSDNによると、ListView.ScrollInToViewは、インデックスではなくパラメータとして表示するオブジェクトを取得します。

+0

本当です! ShapesList.SelectedIndex = ChartViewModel.GetIndexOfSelectedROI(); ShapesList.ScrollIntoView(ShapesList.SelectedItem); が問題を解決しました。ありがとう! –

関連する問題