Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin将数据传递到另一个页面_Xamarin_Xamarin.forms - Fatal编程技术网

Xamarin将数据传递到另一个页面

Xamarin将数据传递到另一个页面,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我想把输入的名字传给第1页。 我处理了变量,这意味着当您输入名称并单击按钮时,它将被放入变量valueName中。 但我无法将此变量传递到第1页。 有人能帮我吗 <MasterDetailPage.Master> <ContentPage Padding="10" BackgroundColor="Beige" Title="Master" Icon=""> <ContentPage.Content> <S

我想把输入的名字传给第1页。 我处理了变量,这意味着当您输入名称并单击按钮时,它将被放入变量valueName中。 但我无法将此变量传递到第1页。 有人能帮我吗

<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>

页面只是类。您可以使用构造函数、公共属性、公共方法等向它们传递参数

例如,通过构造函数传递

private void Button_Clicked(object sender, EventArgs e)
{
    string valueName = name.Text;
    Detail = new NavigationPage(new Page1(valuename));
    IsPresented = false;       
}
在第1页中,修改构造函数以接受参数

string _name;

public Page1 (string name)
{
    InitializeComponent ();

    _name = name;
}

好的,理解页面是类很有帮助。我可以用哪种方式在xaml文件中传递这个名称?
string _name;

public Page1 (string name)
{
    InitializeComponent ();

    _name = name;
}