2016-04-14 17 views
0

böyle WPF bir liste görünümü kullanıyorum WPF MVVM sucess kaydedin:oto liste görünümü seçili satır nasıl güncellenir sonra

seçilen satır atlamak gerekir şeklinde kaydetmek tıklamasıyla günü
<ListView x:Name="lv" ItemsSource="{Binding Path=xyz}" SelectedItem="{Binding SelectedRow}" > 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Width="50" DisplayMemberBinding="{Binding }" /> 
      <GridViewColumn Width="140" DisplayMemberBinding="{Binding }" /> 
      <GridViewColumn Width="140" DisplayMemberBinding="{Binding }" /> 
      <GridViewColumn Width="120" DisplayMemberBinding="{Binding }" /> 
     </GridView> 
    </ListView.View> 
</ListView> 

Sıradaki satır.Gelişselectedrowrow + 1.

Bunu WPF MVVM'de nasıl yapabilirim?

cevap

3

İlk başta SelectedIndex yerine SelectedIndex'i kullanmanızı öneririm. O SelectedItem tutmak istiyorsanız

sizin ViewModel sizin kaydet Yönteminde Sonra
<ListView x:Name="lv" ItemsSource="{Binding Path=xyz}" SelectedIndex="{Binding SelectedIndex, Mode=TwoWay}" /> 

, sadece 1 ile Selectedındex artırabilir

private void Save() 
{ 
    // Your Save Logic... 

    if (SelectedIndex + 1 < xyz.Count) 
     SelectedIndex++; 
} 

(Index son değilse kontrol etmeyi unutmayın)

private void Save() 
{ 
    //Your Save Logic... 

    var index = xyz.IndexOf(this.SelectedItem); 
    if (index - 1 < xyz.Count) 
     SelectedItem = xyz.ElementAt(index + 1); 
} 
benzeri bir şey yapamazsınız
İlgili konular