Насколько я понимаю, вы пытаетесь получить доступ к переменной, которая приходит с другой страницы. Есть несколько вариантов решения. Итак, вот некоторые. Но вы можете найти и других, более подходящих, чем этот.
1. Статическая переменная со страницы 1
Вы всегда можете получить доступ к переменной public static
из любого кода. Учитывая, что у вас есть две страницы:
public class Page1 : ContentPage //User input page
{
public static User user;
public Page1()
{
}
async void Clicked()
{
user = new User("username input", "password input");
}
}
И вторая страница:
public class Page2 : ContentPage
{
public Page2()
{
//Here you can access the user variable
Page1.user.Email = "Some other input";
}
}
Это достаточно хорошо, если вы работаете, может быть, один раз регистрационная форма. Поэтому, когда вы закончите регистрацию, просто очистите user
, используя user = new User()
-> создать новый пустой экземпляр.
2. Передача переменной на следующую страницу
Вы можете передать переменную через метод конструктора new class
. Учитывая, что у вас есть две страницы:
public class Page1 : ContentPage //User input page
{
public Page1()
{
}
async void Clicked()
{
User user = new User("username input", "password input");
Navigation.PushAsync(new Page2(user));
}
}
и вторая страница:
public class Page2 : ContentPage
{
public Page2(User user)
{
//Here you can access the user variable
user.Email = "Some other input";
}
}
Для лучшего подхода, если вы не работаете с одноразовой формой, вы можете использовать Models
и ViewModels
, чтобы сделать ваш пользовательский интерфейс и данные более управляемыми.
Существует несколько подходов для этой цели, но я просто могу подумать, что это простой.