Я использую подход MVVM.
У меня есть ViewModel и View, называемые AllSomethingViewModel и AllSomethingView. Модель представления содержит список SomethingViewModel и SelectedViewModel. Представление содержит пользовательский элемент управления, связанный со свойством SelectedVM AllSomethingViewModel, и элемент управления со списком, который позволяет мне выбрать виртуальную машину. В основном, когда я выбираю новую виртуальную машину, DataContext элемента управления пользователя изменяется, и поэтому представление, связанное с SomethingViewModel, обновляется с новой информацией.
SomethingViewModel содержит список объектов, называемых данными ObservableCollection (DataPoints).
У меня есть DataGrid, привязанный к данным, и определенные столбцы, которые привязаны к членам данных. Это отлично работает. Я могу изменить представления и обновления этой сетки данных, и все хорошо.
Проблема, с которой я сталкиваюсь, заключается в том, что мне бы хотелось, чтобы сортировка, применяемая к сетке данных, сохранялась при изменении текста данных.
В представлении, связанном с SomethingViewModel, я могу подписаться на событие DataContextChanged, но я не уверен, что делать, чтобы применить сортировку.
Например. У меня есть 2 SomethingViewModels. Так что в моем списке есть 2 варианта. Когда я выбираю первый, я получаю свою сетку данных со своими данными. В сетке данных я решаю отсортировать по возрастанию DateCreated. Затем я перехожу ко второй виртуальной машине, текст данных изменяется, поэтому данные в сетке обновляются, но больше не сортируются!