using System;
using UIKit;
using CoreGraphics;
namespace Shared
{
///
/// 对话框
///
public class Alert
{
///
/// 当前对话框
///
UIAlertView myUIAlertView;
///
/// 代理
///
MyUIAlertViewDelegate myUIAlertViewDelegate = new MyUIAlertViewDelegate();
///
/// 对话窗
///
/// 标题
/// 信息
/// 取消按键备注,值null表示不显示取消按键
/// 确认按键备注
public Alert(string title,string message,string cancelButtonText,string okButtonText)
{
myUIAlertView = new UIAlertView ();
myUIAlertView.Title = title;
myUIAlertView.Message = message;
myUIAlertView.Delegate = myUIAlertViewDelegate;
if (cancelButtonText != null) {
myUIAlertView.AddButton (cancelButtonText);
myUIAlertViewDelegate.Flag = true;
}
myUIAlertView.AddButton (okButtonText);
myUIAlertViewDelegate.ResultEventHandler+= (sender, e) => {
if (ResultEventHandler != null) {
ResultEventHandler (sender, e);
}
};
}
///
/// 对话窗
///
/// 标题
/// 信息
/// 确认按键备注
public Alert(string title,string message,string okButtonText):this(title,message,null,okButtonText)
{
}
///
/// 结果通知事件,true表示选中按键,false表示取消事件
///
public event EventHandler ResultEventHandler;
///
/// 显示当前的界面
///
public void Show()
{
myUIAlertView.Show ();
}
///
/// 对话框事件处理代理
///
class MyUIAlertViewDelegate : UIAlertViewDelegate
{
///
/// 通知结果
///
public event EventHandler ResultEventHandler;
///
/// 是否是有取消按键
///
public bool Flag;
public override void Clicked(UIAlertView alertview, nint buttonIndex)
{
if (ResultEventHandler != null)
{
if (buttonIndex == 0)
{
if (Flag)
{
//取消按键
ResultEventHandler(alertview, false);
}
else {
//按了确定
ResultEventHandler(alertview, true);
}
}
else if (buttonIndex == 1)
{
//按了确定
ResultEventHandler(alertview, true);
}
}
}
}
}
}