Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/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,我正在尝试解决如何从模态返回对象 我正在使用MessagingCenter 我的代码如下,但它没有进入订阅 对于登记册中的订阅: MessagingCenter.Subscribe<Register, PublicUtilityDamage>(this,"UtilityCompanySelected", async (sender, Company) => { await DisplayAlert("Company Selected", Company.

我正在尝试解决如何从模态返回对象

我正在使用MessagingCenter

我的代码如下,但它没有进入订阅

对于登记册中的订阅:

MessagingCenter.Subscribe<Register, PublicUtilityDamage>(this,"UtilityCompanySelected", async (sender, Company) => {
            await DisplayAlert("Company Selected", Company.DamageType, "OK");
        });

您需要确保发送者和订阅者的类型参数匹配-第一个参数应该是发送消息的页面/类的类型。发送时,第三个参数是要传递的参数

MessagingCenter.Subscribe<SelectDamageType, PublicUtilityDamage>(this,"UtilityCompanySelected", async (sender, Company) => {
            await DisplayAlert("Company Selected", Company.DamageType, "OK");
        });

MessagingCenter.Send<SelectDamageType, PublicUtilityDamage>(this, "UtilityCompanySelected", company);
MessagingCenter.Subscribe(此“实用公司已选定”,异步(发件人,公司)=>{
等待显示警报(“选定公司”,Company.DamageType,“确定”);
});
MessagingCenter.Send(这是“UtilityCompanySelected”,公司);

Hello,以下代码行不起作用:MessagingCenter.Send(这是“UtilityCompanySelected”,company);。这是因为“this”指向模式页面。Send and Subscribe中的第一个type参数需要引用发送消息的页面的类型。“无法从SelectDamageType转换为Register”是错误消息,如果有任何用处:)哪个类是发送消息的类?SelectDamageType正在发送消息
MessagingCenter.Subscribe<SelectDamageType, PublicUtilityDamage>(this,"UtilityCompanySelected", async (sender, Company) => {
            await DisplayAlert("Company Selected", Company.DamageType, "OK");
        });

MessagingCenter.Send<SelectDamageType, PublicUtilityDamage>(this, "UtilityCompanySelected", company);