Xamarin将数据传递到另一个页面 [英] Xamarin pass data to another page

查看:82
本文介绍了Xamarin将数据传递到另一个页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将输入的名称传递给第1页. 我处理了变量,这意味着当您输入名称并单击按钮时,它将被放入变量valueName中. 但是我不能将此变量传递给第1页. 有人可以帮我吗?

I want to pass the entered name to page 1. I handled the variable, which means that when you enter your name and click the button it will be put in variable valueName. But I cannot pass this variable to page 1. Can someone help me with this?

<MasterDetailPage.Master>
    <ContentPage Padding="10" BackgroundColor="Beige" Title="Master" Icon="">
        <ContentPage.Content>
            <StackLayout Margin="5,30,5,5">
                <Label Text="Master Page">
                </Label>
                <Label Text="Name:" >
                </Label>
                <Entry x:Name="name" Placeholder="Enter your name"></Entry>
                <Button Text="Click this button to show name on Page 1" 
                 BackgroundColor="Yellow" Clicked="Button_Clicked"></Button>
            </StackLayout>
        </ContentPage.Content>
    </ContentPage>
</MasterDetailPage.Master>

public partial class MainPage : MasterDetailPage
{
    public MainPage()
    {
        InitializeComponent();
        Detail = new NavigationPage(new Page1());
        IsPresented = true;
    }
    private void Button_Clicked(object sender, EventArgs e)
    {
        Detail = new NavigationPage(new Page1());
        IsPresented = false;
        string valueName = name.Text;
    }
}

<ContentPage.Content>
    <StackLayout>
        <Label 
            Text="Page 1">
        </Label>

        <Label 
            Text="Text of name must be here">
        </Label>

    </StackLayout>
</ContentPage.Content>

public partial class Page1 : ContentPage
{
    public Page1 ()
    {
        InitializeComponent ();
    }
}

推荐答案

页面只是类.您可以使用构造函数,公共属性,公共方法等向其传递参数

Pages are just classes. You can pass parameters to them using the constructor, public properties, public methods, etc

例如,通过构造函数传递

For example, to pass via the constructor

private void Button_Clicked(object sender, EventArgs e)
{
    string valueName = name.Text;
    Detail = new NavigationPage(new Page1(valuename));
    IsPresented = false;       
}

在第1页中,修改构造函数以接受参数

in Page1, modify the constructor to accept a parameter

string _name;

public Page1 (string name)
{
    InitializeComponent ();

    _name = name;
}

这篇关于Xamarin将数据传递到另一个页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆