В вашем btnDone_Clicked
событии вы должны использовать Navigation.PopAsync
до go для возврата на главную страницу, Navigation.PushAsync(mainpage);
означает для go для новой главной страницы, а не предыдущей страницы.
protected void btnDone_Clicked(object sender, EventArgs e)
{
Navigation.PopAsync();
}
Пожалуйста, прочитайте документ , чтобы узнать о том, как работает NavigationPage.
Обновление , вы можете передать необходимое значение SecondPage
при вводе sh в SecondPage
:
Коды в MainPage
:
public partial class MainPage : ContentPage
{
public string previouspagevalue;
public MainPage()
{
InitializeComponent();
previouspagevalue = "I'm previouspagevalue";
}
protected override void OnAppearing()
{
base.OnAppearing();
//if you set the lblEndDT.Text = "someValue"; in the secondPage, there is no need to update it here
lblEndDT.Text = previouspagevalue;
}
private void btnOffline_Clicked(object sender, EventArgs e)
{
//Pass the parametere you need when you go to SecondPage
Navigation.PushAsync(new SecondPage(this, lblEndDT));
string currentDT = DateTime.Now.ToString();
lblStartDT.Text = currentDT;
}
}
SecondPage:
public partial class SecondPage : ContentPage
{
Label MainPagelblEndDT;
MainPage mainPage;
public SecondPage()
{
InitializeComponent();
}
public SecondPage(MainPage mainP,Label lblEndDT)
{
InitializeComponent();
//Get the lblEndDT reference here
MainPagelblEndDT = lblEndDT;
//Get the MainPage reference here
mainPage = mainP;
}
private void Button_Clicked(object sender, EventArgs e)
{
string edt = DateTime.Now.ToString();
//Use it
MainPagelblEndDT.Text = edt;
mainPage.previouspagevalue = MainPagelblEndDT.Text;
Navigation.PopAsync();
}
}
Я загрузил пример проекта здесь , и вы можете Проверь это. Не стесняйтесь задавать мне любые вопросы, если у вас есть.