DateElement值已更改事件

时间:2012-03-22 15:43:39

标签: xamarin.ios monotouch.dialog

有没有办法在MonoTouch Dialog DateElement上获取值更改事件? Tapped事件永远不会被命中,而datePicker属性为null,因此我无法挂钩到ValueChanged事件。有任何想法吗?

我希望在日期更改时设置其他字段的值,但我找不到办法执行此操作。

1 个答案:

答案 0 :(得分:0)

我不知道这是否是实现您想要做的事情的最佳方式,但您可以扩展DateElement以在选择值时触发事件。

以下是DateElement的示例:

public class CustomDateElement : DateElement
{
    public event System.Action<CustomDateElement> DateChanged;

    public CustomDateElement(string caption, DateTime date) : base(caption, date) {}

    public override string FormatDate (DateTime dt)
    {
        if (DateChanged != null)
            DateChanged(this, dt);

        return base.FormatDate (dt);
    }
}

以下是如何使用新的CustomDateElement的示例:

var dateElement = new CustomDateElement ("Due Date", model.Birthday);

dateElement.DateChanged += (obj) => {
    Console.WriteLine(obj.DateValue);
};