Xamarin UIAlertView按钮事件
我对Xamarin.Forms有一个问题,当UIAlertView按OK时,我正试图从详细信息页面导航回页面。但我做不到。这是我的密码Xamarin UIAlertView按钮事件,xamarin,xamarin.ios,xamarin.forms,uialertview,Xamarin,Xamarin.ios,Xamarin.forms,Uialertview,我对Xamarin.Forms有一个问题,当UIAlertView按OK时,我正试图从详细信息页面导航回页面。但我做不到。这是我的密码 { UIAlertView alert = new UIAlertView(); alert.Title = "Warning"; alert.AddButton("OK"); alert.Message = "Payment not found!"; alert.Clicked += ButtonClicked;
{
UIAlertView alert = new UIAlertView();
alert.Title = "Warning";
alert.AddButton("OK");
alert.Message = "Payment not found!";
alert.Clicked += ButtonClicked;
alert.Show();
return paymentList;
}
private void ButtonClicked(object sender, UIButtonEventArgs e)
{
//???
}
谢谢。
UIAleartView
没有按钮的特定事件。
但是,您可以从
UIButtonEventArgs
(例如:e.ButtonIndex
)访问按下的按钮的索引,验证按下的按钮是什么首先,Xamarin.Forms没有UIAlertView
类(在PCL项目内)。
您可以通过调用页面
实例中的异步DisplayAlert
方法在那里显示警报。例如:
public class PaymentPage
{
...
async void OnNoPaymentMethodDetected(object sender, EventArgs e)
{
await DisplayAlert("Error", "You have no payment method registered", "Okay");
await Navigation.PopAsync(true);
}
...
}
注意:Pop导航方法取决于推送导航方法。例如,如果您使用了PushModalAsync(第2页)
,则必须在第2页中使用PopModalAsync()
,否则popsync()
将导致错误
如果您希望在特定于iOS的项目中具有类似的警报,则必须使用以下代码:
var controller = UIAlertController.Create("Error", "No payment method detected", UIAlertControllerStyle.Alert);
controller.AddAction(UIAlertAction.Create("Okay", UIAlertActionStyle.Cancel, (sender) =>
{
NavigationController.PopViewController(true);
}));
ShowDetailViewController(controller, null);
这是Xamarin.iOS而不是Xamarin.Forms,您能解释一下这与X.F有什么关系吗?使用本机
UIAlertView
的目的是什么?我建议您使用Acr.UserDialogs
作为Xamarin.Forms
的共享解决方案。我使用Xamarin.Forms我有一个客户页面和客户付款页面,如果客户没有付款,则会显示UIAlertView。当我想浏览后页时,请单击“确定”按钮。您可以使用解决方案。