У меня есть список, к которому я привязываю HistoryItems
, где HistoryItems
- это ObservableCollection
из History
.
Вот объявление списка:
<ListBox x:Name="RecentListBox" SelectionChanged="RecentListBox_SelectionChanged" ItemsSource="{Binding HistoryItems,Converter={StaticResource HistoryValueConverter} }" ItemsPanel="{StaticResource ItemsPanelTemplate1_Wrap}" ItemTemplate="{StaticResource RecentViewModelTemplate}">
Вот класс History
:
public class History : INotifyPropertyChanged
{
public History() { }
int _id;
string _date;
string _url;
string _name;
public History(int id, string date,string url,string name)
{
this.id = id;
this.date = date;
this.url = url;
this.name = name;
}
public int id
{
get
{
return _id;
}
set
{
if (value != _id)
{
_id = value;
NotifyPropertyChanged("id");
}
}
}
public string date
{
get
{
return _date;
}
set
{
if (!value.Equals(_date))
{
_date = value;
NotifyPropertyChanged("string");
}
}
}
public string url
{
get
{
return _url;
}
set
{
if (!value.Equals(_url))
{
_url = value;
NotifyPropertyChanged("url");
}
}
}
public string name
{
get
{
return _name;
}
set
{
if (!value.Equals(_name))
{
_name = value;
NotifyPropertyChanged("name");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (null != handler)
{
// App.viewModel.HistoryItems = (App.Current as App).dataHandler.retrieveHistory_DB();
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Когда я запускаю приложение, список заполняется, но после того, как я делаю некоторые модификации в некоторых дочерних элементах и возвращаюсь к основному панорамному виду, я пытаюсь обновить HistoryItems
в OnNavigatedTo
:
App.ViewModel.HistoryItems = (App.Current as App).dataHandler.retrieveHistory_DB();
но список не обновляется (и функция возвращает правильные данные). В чем может быть проблема? History
- это INotifyPropertyChanged
, а HistoryItems
- это ObservableCollection<History>
, поэтому проблем не должно быть. Что вызывает обновление списка?