Est-ce que quelqu'un sait pourquoi mon ListView avec le code suivant ne fonctionne pas? J'ai vérifié avec Snoop et le ItemsSource semble être bien (et quand je commence Snoop, le ListView m'indique le MyViewModel.MyCollection, mais quand déboguer avec Visual Studio il ne me montre rien?)C#/WPF: ListView ne pas mettre à jour (mais quand je vérifie avec Snoop, tout semble bien)
Merci!
PS: MainWindow.xaml.cs a DataContext = MainViewModel
<ListView Grid.Row="1" Margin="38,50,0,168" HorizontalAlignment="Left" Name="listViewSelectDate" Width="105"
ItemsSource="{Binding Path=MyViewModel.MyCollection}"
SelectedItem="{Binding SelectedDate}" IsSynchronizedWithCurrentItem="True">
<ListView.View>
<GridView>
<GridViewColumn Header="Date" DisplayMemberBinding="{Binding Path=CalcDate}"/>
</GridView>
</ListView.View>
</ListView>
Le ViewModel ressemble à ceci:
class MainViewModel : ViewModelBase
{
public SummaryViewModel MyViewModel
{
get { return _myViewModel; }
set { _myViewModel = value; RaisePropertyChanged("MyViewModel"); }
}
public MyDate SelectedDate
{
get { return _selectedDate; }
set { _selectedDate = value; RaisePropertyChanged("SelectedDate"); }
}
}
et
public class SummaryViewModel : ViewModelBase
{
public ObservableCollection<MyDate> MyCollection { get; set; }
}
et
public class MyDate
{
public DateTime CalcDate { get; set; }
}
En fait, je pensais que ObservableCollection n'avait pas besoin de OnPropertyChanged (dans mon cas, RaisePropertyChanged), car il implémente déjà INotifyPropertyChanged (http://msdn.microsoft.com/de-de/library/ms668604.aspx). De toute façon, j'ai essayé ça aussi et ça ne semble pas fonctionner .. –
Mon erreur, tu avais raison! Merci beaucoup –