Когда я изменил значение элемента, который связан в списке, я ожидал, что отсортированный порядок должен измениться автоматически.
Но это не так.
Могу ли я назвать .SortDescription.Метод Clear () и перераспределение SortDescription в этом случае?
.Refresh () не работает.
EDITED
я связан и установлентакие данные;
public Records myRecents;
....
//lbToday is a ListBox.
//ModifiedTime is a DateTime.
this.lbToday.ItemsSource = new ListCollectionView(myRecents);
this.lbToday.Items.SortDescriptions.Add(new SortDescription("ModifiedTime", ListSortDirection.Descending));
Когда приложение запускалось впервые, оно показывало правильный результат.Но когда я изменяю значение элемента (в данном случае, свойство ModifiedTime), представление не изменяется.И я перезапустил приложение, оно снова показало правильный результат.
EDITED2
Вот исходный код Records
.
public class Records : ObservableCollection<RecordItem>
{
public Records() { }
}
и вот исходный код 'RecordItem'
public class RecordItem : INotifyPropertyChanged
{
string queryString; public string QueryString { get { return queryString; } set { queryString = value; Notify("QueryString"); } }
DateTime modifiedTime; public DateTime ModifiedTime { get { return modifiedTime; } set { modifiedTime = value; Notify("ModifiedTime"); } }
public RecordItem() { }
public RecordItem(string qStr)
{
this.queryString = qStr;
this.modifiedTime = DateTime.Now;
}
public event PropertyChangedEventHandler PropertyChanged;
protected void Notify(string propName) { if (this.PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propName)); } }
}
Примечание
Когда я добавил элемент в myRecents (класс Record),это работает хорошо.Возникла проблема только при изменении свойства.