У меня есть мастер-страница, которая появляется после нажатия на кнопку.
Вот мой код.
App.cs
public App()
{
// The root page of your application
MainPage = new NavigationPage(new Login());
}
Login.cs
public void button(object sender, EventArgs e)
{
MasterDetailPage fpm = new MasterDetailPage();
fpm.Master = new MasterPage(**test.Text**) { Title = "Main Page" }; // You have to create a Master ContentPage()
fpm.Detail = new NavigationPage(new PageOne()); // You have to create a Detail ContenPage()
Application.Current.MainPage = fpm;
}
Со страницы входа я передаю параметр вMasterpage (т.е.) test.text , я хочу передать этот параметр всем страницам в Mastepage, но я не знаю, как это сделать.
MasterPage.cs
public MasterPage(string id)
{
InitializeComponent();
BindingContext = new MasterViewModel();
}
MasterViewModel.cs
public ICommand NavigationCommand
{
get
{
return new Command((value) =>
{
// COMMENT: This is just quick demo code. Please don't put this in a production app.
var mdp = (Application.Current.MainPage as MasterDetailPage);
var navPage = mdp.Detail as NavigationPage;
// Hide the Master page
mdp.IsPresented = false;
switch(value)
{
case "1":
navPage.PushAsync(new PageOne());
break;
case "2":
navPage.PushAsync(new PageTwo());
break;
}
});
}
}
В общем, после входа в систему мне нужно передать идентификатор на главную страницу, чтобы все страницы на главной странице могли получить этот идентификатор, и на основе идентификатора я могу работать над этимпроект.