C# Xamarin将条目值从旧页传递到新页

C# Xamarin将条目值从旧页传递到新页,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,嗨,我有一个页面,我让用户填写他们的快速姓名和姓氏,然后当他们点击“下一步”按钮时,它会执行以下操作: await Navigation.PushModalAsync(new VisitorHSAgreement()); 到下一页,我想做的是将它们的值显示在下一页的标签中。我目前已经尝试过这个方法,但它返回null。有人能帮我吗 public string VisitorFirstName { get; set; } public string VisitorLastName { get; s

嗨,我有一个页面,我让用户填写他们的快速姓名和姓氏,然后当他们点击“下一步”按钮时,它会执行以下操作:

await Navigation.PushModalAsync(new VisitorHSAgreement());
到下一页,我想做的是将它们的值显示在下一页的标签中。我目前已经尝试过这个方法,但它返回null。有人能帮我吗

public string VisitorFirstName { get; set; }
public string VisitorLastName { get; set; }
    var visitorPage = new VisitorPage();

    VisitorFirstName = visitorPage.FindByName<Entry>("FirstNameEntry").Text;
公共字符串VisitorFirstName{get;set;}
公共字符串VisitorLastName{get;set;}
var visitorPage=新建visitorPage();
VisitorFirstName=visitorPage.FindByName(“FirstNameEntry”).Text;

打开
VisitorPage
时,存在类
VisitorPage
的实例。此实例包含控件,这些控件也是实例,并且可能在其属性中设置了值

现在导航到
visitorsagreement
,并尝试通过创建此类的新对象来从
visitorspage
获取值。这个类的每个对象都有自己的值,控件是新创建的。除非在
VisitorPage
中创建一些静态字段,否则将永远无法从新实例访问在第一个实例中设置的值。您应该认真阅读OOP的基本概念,因为这实际上是OOP 101

我建议将MVVM与Prism库一起使用,这将使您的Xamarin.Forms更容易使用。无论如何,如果你现在不能或不想(最终取决于你),仍然有一个解决方案。由于您的属性是公共的,您可以在导航到
visitorsagreement

var page = new VisitorHSAgreement()
           {
               VisitorFirstName = FirstNameEntry.Text,
               VisitorLastName = LastNameEntry.Text
           };

await Navigation.PushModalAsync(page);

启用
VisitorPage
时,存在类
VisitorPage
的实例。此实例包含控件,这些控件也是实例,并且可能在其属性中设置了值

现在导航到
visitorsagreement
,并尝试通过创建此类的新对象来从
visitorspage
获取值。这个类的每个对象都有自己的值,控件是新创建的。除非在
VisitorPage
中创建一些静态字段,否则将永远无法从新实例访问在第一个实例中设置的值。您应该认真阅读OOP的基本概念,因为这实际上是OOP 101

我建议将MVVM与Prism库一起使用,这将使您的Xamarin.Forms更容易使用。无论如何,如果你现在不能或不想(最终取决于你),仍然有一个解决方案。由于您的属性是公共的,您可以在导航到
visitorsagreement

var page = new VisitorHSAgreement()
           {
               VisitorFirstName = FirstNameEntry.Text,
               VisitorLastName = LastNameEntry.Text
           };

await Navigation.PushModalAsync(page);

您需要学习如何使用面向对象编程。 如前一个答案中所述,您正试图从最近创建的对象(显然是空的)中访问空值。而您需要做的是将值分配给您想要发送的对象,然后将该对象(填写的数据)发送到您想要使用它的页面。
然后在您的页面中,接收上一页发送的对象,并探索其属性以获取您的值。

您需要学习如何使用面向对象编程。 如前一个答案中所述,您正试图从最近创建的对象(显然是空的)中访问空值。而您需要做的是将值分配给您想要发送的对象,然后将该对象(填写的数据)发送到您想要使用它的页面。 然后在您的页面中,接收从上一页发送的对象,并探索其属性以获取您的值