Как обновить представление коллекции после сортировки привязкой для привязки, не воссоздавая коллекцию ⇐ C#

Место общения программистов C#
Anonymous
Как обновить представление коллекции после сортировки привязкой для привязки, не воссоздавая коллекцию

Сообщение Anonymous »

У меня есть команда сортировки в моей коллекции, как показано ниже. Обратите внимание, что я сортирую по внутреннему значению, которое является частью пользовательских компаний, но не является частью конструктора при создании объекта, поэтому я не хочу воссоздать коллекцию, просто сортируйте их и переживает. < /P>

Код: Выделить всё

public void SortPlayers(object sender, EventArgs e)
{
VM.SortPlayers();
OnPropertyChanged(nameof(VM.UserItems));
}
< /code>
Это метод вызов в моем AppViewModel < /p>
public partial class AppViewModel : ObservableObject, IDisposable
{
public ObservableCollection UserItems { get; } = new ObservableCollection();

// Adding accessibility modifier to fix IDE0040
UserItem selectedItem = new("test", "test");
public UserItem SelectedItem
{
get => selectedItem ?? throw new InvalidOperationException("SelectedItem is null.");
set
{
if (value != null)
{
if (selectedItem == null)
{
selectedItem = new UserItem(value.Name, value.Address);
}
else
{
selectedItem.Name = value.Name;
selectedItem.Address = value.Address;
}
OnPropertyChanged(nameof(SelectedItem));
}
}
}

public void SortPlayers()
{

UserItems.OrderByDescending(x => x.CurrentTimeOn); // Sort the UserItems collection by CurrentTimeOn in descending order

}
}
Моя представление коллекции связано с пользователями , но не обновляется порядок, когда я вызову выше метод ... Любые идеи, как я могу получить представление о сборе, чтобы Repind на основе отсортированных элементов?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ble-collec

Вернуться в «C#»