
Поиск в Google этой проблемы привел меня к выводу, что ошибка возникает при попытке асинхронно заполнить или обновить представления, которые еще не были нарисованы. Честно говоря, я пытался загрузить данные в событии Appearing на своих страницах, но уже это исправил. Взгляните на следующий пример.
Это пример страницы StockkingView и ее модели представления, которая выдает ошибку:
Код: Выделить всё
Код: Выделить всё
[QueryProperty("Stocktakings_list", "stocktakings")]
public partial class StocktakingViewModel : BaseViewModel
{
private readonly IUserDialogs _userDialogs;
private readonly IGenericService _stocktakingService;
[ObservableProperty]
List stocktakings_list;
[ObservableProperty]
ObservableCollection stocktakings;
public StocktakingViewModel(IUserDialogs userDialogs, IGenericService stocktakingService)
{
_userDialogs = userDialogs;
_stocktakingService = stocktakingService;
}
[RelayCommand]
private void OnAppearing()
{
Stocktakings = new ObservableCollection(Stocktakings_list);
}
...
Код: Выделить всё
StocktakingsКод: Выделить всё
private async Task NavigateToStocktaking()
{
List stocktakings = await _stocktakingService.GetAll();
Dictionary param = new Dictionary
{
{ "stocktakings", stocktakings }
};
await Shell.Current.GoToAsync(nameof(StocktakingView), param);
}
Что я уже пробовал:
- Поместите представление коллекции в сетку.
- Измените представление коллекции на представление списка.
- Полностью избавьтесь от представления коллекции, чтобы нечего было рисовать
- Полностью избавиться от события OnAppearing
Подробнее здесь: https://stackoverflow.com/questions/785 ... tain-pages
Мобильная версия