Как обновить родительские элементы при удалении элемента на странице сведений? ⇐ C#
-
Гость
Как обновить родительские элементы при удалении элемента на странице сведений?
У меня есть CollectionView с элементами, когда я нажимаю на один из них, он должен быть перенаправлен на страницу сведений с кнопкой удаления или обновления. Когда я выполняю операцию, как мне обновить представление родительской коллекции?
ViewModel коллекцииviewPage:
публичный класс TestViewModel: BaseViewModel { общественный ObservableCollection TestItems {get; набор; } общедоступная TestViewModel() { TestItems = новый ObservableCollection { новый TestItem { Id = 1, Title = "Тестовый элемент 1" }, новый TestItem { Id = 2, Title = "Тестовый элемент 2" }, новый TestItem { Id = 3, Title = "Тестовый элемент 3" } }; ItemSelectedCommand = новая команда (OnItemSelected); } [Команда Реле] частная пустота OnItemSelected (TestItem selectedItem) { ждут Shell.Current.Navigation.PushAsync(new DetailsPage(selectedItem)); } } ViewModel страницы сведений:
публичный класс DetailsPageModel: BaseViewModel { Тестовый элемент _item; общедоступная TestViewModel (элемент TestItem) { _item = предмет; } [Команда Реле] частный асинхронный недействительный Удалить () { // Имитация удаления из базы данных дождитесь _repository.Delete(_item); ждут Shell.Current.Navigation.PopAsync(); } } Итак, в этом случае я удаляю элемент из базы данных, но как мне уведомить со страницы сведений родительский элемент о том, что он должен обновиться? Мне передать весь список на страницу подробностей и удалить оттуда, кажется, это неэффективно?
У меня есть CollectionView с элементами, когда я нажимаю на один из них, он должен быть перенаправлен на страницу сведений с кнопкой удаления или обновления. Когда я выполняю операцию, как мне обновить представление родительской коллекции?
ViewModel коллекцииviewPage:
публичный класс TestViewModel: BaseViewModel { общественный ObservableCollection TestItems {get; набор; } общедоступная TestViewModel() { TestItems = новый ObservableCollection { новый TestItem { Id = 1, Title = "Тестовый элемент 1" }, новый TestItem { Id = 2, Title = "Тестовый элемент 2" }, новый TestItem { Id = 3, Title = "Тестовый элемент 3" } }; ItemSelectedCommand = новая команда (OnItemSelected); } [Команда Реле] частная пустота OnItemSelected (TestItem selectedItem) { ждут Shell.Current.Navigation.PushAsync(new DetailsPage(selectedItem)); } } ViewModel страницы сведений:
публичный класс DetailsPageModel: BaseViewModel { Тестовый элемент _item; общедоступная TestViewModel (элемент TestItem) { _item = предмет; } [Команда Реле] частный асинхронный недействительный Удалить () { // Имитация удаления из базы данных дождитесь _repository.Delete(_item); ждут Shell.Current.Navigation.PopAsync(); } } Итак, в этом случае я удаляю элемент из базы данных, но как мне уведомить со страницы сведений родительский элемент о том, что он должен обновиться? Мне передать весь список на страницу подробностей и удалить оттуда, кажется, это неэффективно?
Мобильная версия