Pass parâmetro de dados do modelo para a página seguinte Prism Xamarin Forms
Preciso passar dados do ViewModel 1 para o ViewModel 2 usando o Pris
TodoItem
é meu modelo com a string:
public TodoItem _todotItem { get; set; }
private readonly INavigationService _navigationService;
Atribuí-o no construtor:
public MainPageViewModel(INavigationService navigationService, TodoItem todotItem)
{
_navigationService = navigationService;
_todotItem = todotItem;
}
E este é o código que eu uso para navegar para a próxima página (incluindo o parâmetro):
NavigationParameters navParams = new NavigationParameters();
navParams.Add("PassedValue", _todoItem.name);
_navigationService.NavigateAsync("SecondPage", navParams);
Quando eu definir o ponto de interrupção em_todoItem.name
diznul. Os dados são buscados antes de clicar nolistview
. O que estou perdendo
Editar
É assim que eu navego (clique emlistview
):
private EventItem _selectedEvent { get; set; }
public EventItem SelectedEvent
{
get { return _selectedEvent; }
set
{
if (_selectedEvent != value)
{
if (Device.RuntimePlatform == Device.iOS)
{
_selectedEvent = null;
}
else
{
_selectedEvent = value;
}
NavigationParameters navParams = new NavigationParameters();
navParams.Add("PassedValue", _todoItem.name);
_navigationService.NavigateAsync("SecondPage", navParams);
}
}
}
Eu uso as maneiras apropriadas para capturar o parâmetro no segundoViewModel
(No entanto, recebonul em primeiroViewModel
):
public void OnNavigatingTo(INavigationParameters parameters)
{
if (parameters.ContainsKey("PassedValue"))
{
_todo = (string)parameters["PassedValue"];
OnPropertyChanged("Todo");
}
}
Eu usoHTTPClient
para buscar dados.