Я использую ObjectListView для отображения значений словаря, он отлично работает, но когда я сортирую сортировку один раз, я имею в виду, когда сортирую по возрастанию по убыванию, это сортирует их как {30, 27, 26, 15, 10}
вот пример моего класса объектов
public class Item: INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
int age = -1;
public Int32 Age
{
get{return age;}
set
{
if (value == age)
return;
this.age = value;
OnPropertyChanged("Age");
}
}
}
Также вот как я добавляю список объектов в представление списка
System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
try
{
this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
stopWatch.Start();
this.listview1.SetObjects(this.ItemsDictionary.Values);
}
finally
{
stopWatch.Stop();
this.Cursor = System.Windows.Forms.Cursors.Default;
}
я использовал
this.listview1.Update();
но я знаю, что это обновление рисования элемента управления, а не сортировка.
Если объект возраста 15 обновлен (увеличен или уменьшен), сортировка не обновляется, и она все еще находится в том же положении. Что мне нужно сделать, чтобы сделать автоматическое обновление сортировки при изменении любого значения столбца сортировки