Xamarin.forms 将值从函数传递给按钮

Xamarin.forms 将值从函数传递给按钮,xamarin.forms,Xamarin.forms,我有一个函数,它从另一个函数接收参数,我必须在执行完成时将这些参数传递给一个按钮 async void CallCompanyApi(String CompanyGp, string CompanyId) { First.IsVisible = false; Second.IsVisible = true; // Next_Clicked(CompanyGp,CompanyId)

我有一个函数,它从另一个函数接收参数,我必须在执行完成时将这些参数传递给一个按钮

 async void CallCompanyApi(String CompanyGp, string CompanyId)
        {
            First.IsVisible = false;
            Second.IsVisible = true;
         //   Next_Clicked(CompanyGp,CompanyId)                    
        }
  


private void Next_Clicked(object sender, EventArgs e)
        {

        }

我必须把这两个参数传递给那个按钮

您需要创建类级别变量来存储这些值

string _CompanyGp;
string _CompanyId;

async void CallCompanyApi(String CompanyGp, string CompanyId)
{
    First.IsVisible = false;
    Second.IsVisible = true;

    // store the parameters in the class level variables
    _CompanyGp = CompanyGp;
    _CompanyId = CompanyId;
}
  
private void Next_Clicked(object sender, EventArgs e)
{
    // you can now just reference _CompanyGp and _CompanyId
}

仅供参考,这是基本的C#,实际上与Xamarin无关

您需要创建类级别变量来存储这些值

string _CompanyGp;
string _CompanyId;

async void CallCompanyApi(String CompanyGp, string CompanyId)
{
    First.IsVisible = false;
    Second.IsVisible = true;

    // store the parameters in the class level variables
    _CompanyGp = CompanyGp;
    _CompanyId = CompanyId;
}
  
private void Next_Clicked(object sender, EventArgs e)
{
    // you can now just reference _CompanyGp and _CompanyId
}
仅供参考,这是基本的C#,实际上与Xamarin无关

欢迎来到SO

如果
CallCompanyApi
Next\u单击了位于不同类中的
,则可以通过将它们存储在Xamarin表单中

using Xamarin.Essentials;

async void CallCompanyApi(String CompanyGp, string CompanyId)
{
     First.IsVisible = false;
     Second.IsVisible = true;
     //Next_Clicked(CompanyGp,CompanyId)
     Preferences.Set("CompanyGp", CompanyGp);
     Preferences.Set("CompanyId", CompanyId);                     
}
然后在另一个类中,单击按钮将获得它们:

private void Next_Clicked(object sender, EventArgs e)
{
    var CompanyGp = Preferences.Get("CompanyGp", "default_value");
    var CompanyId = Preferences.Get("CompanyId", "default_value");
}
否则,如果他们在同一个班级,你可以用杰森说的方法

========================================更新=========================

如果需要,可以设置默认值,例如:

var CompanyGp = Preferences.Get("CompanyGp", "Company_A");
var CompanyId = Preferences.Get("CompanyId", "1");
Defalut
CompanyGp
是companya,默认的
CompanyId
是1。

欢迎使用SO

如果
CallCompanyApi
Next\u单击了位于不同类中的
,则可以通过将它们存储在Xamarin表单中

using Xamarin.Essentials;

async void CallCompanyApi(String CompanyGp, string CompanyId)
{
     First.IsVisible = false;
     Second.IsVisible = true;
     //Next_Clicked(CompanyGp,CompanyId)
     Preferences.Set("CompanyGp", CompanyGp);
     Preferences.Set("CompanyId", CompanyId);                     
}
然后在另一个类中,单击按钮将获得它们:

private void Next_Clicked(object sender, EventArgs e)
{
    var CompanyGp = Preferences.Get("CompanyGp", "default_value");
    var CompanyId = Preferences.Get("CompanyId", "default_value");
}
否则,如果他们在同一个班级,你可以用杰森说的方法

========================================更新=========================

如果需要,可以设置默认值,例如:

var CompanyGp = Preferences.Get("CompanyGp", "Company_A");
var CompanyId = Preferences.Get("CompanyId", "1");


Defalut
CompanyGp
是Company\u A,默认的
CompanyId
是1。

将它们存储在类级变量中,这样您就可以从类中的任何位置引用它们。实际上,这些值是我从api获得的,并存储在变量中,所以我只有在执行完成后才能通过这种方式!是他们传递给巴顿的方式!您并不是真的将值“传递”到按钮。您对场景的描述不是很清楚我收到的这些字符串值在成功执行函数时传递给函数我必须将值从此函数传递给按钮!将它们存储在类级变量中,这样您就可以从类中的任何位置引用它们。实际上,这些值是我从api获得的,并存储在变量中,所以只有在执行完成后,我才能通过这种方式传递!是他们传递给巴顿的方式!您并不是真的将值“传递”到按钮。您对场景的描述不是很清楚我收到的这些字符串值在成功执行函数时传递给函数我必须将值从此函数传递给按钮!这里的默认值也是什么@NavuKinger默认值可根据需要自行设置。用于不存储值的场景也可以从
首选项中获取默认值。如果我不想设置任何默认值,可以从那里删除它吗?@NavuKinger是的,可以。只需设置
。例如:
var CompanyGp=Preferences.Get(“CompanyGp”,即“”)
@NavuKinger如果回复有帮助,请不要忘记接受它作为答案(单击✔ 在这个答案的左上角),它将帮助其他有类似问题的人。这里的默认值也是什么@NavuKinger默认值可根据需要自行设置。用于不存储值的场景也可以从
首选项中获取默认值。如果我不想设置任何默认值,可以从那里删除它吗?@NavuKinger是的,可以。只需设置
。例如:
var CompanyGp=Preferences.Get(“CompanyGp”,即“”)
@NavuKinger如果回复有帮助,请不要忘记接受它作为答案(单击✔ 在这个答案的左上角),它将帮助其他有类似问题的人。