0

有没有人有关于如何在单触 EntryElement 类上实现 ShouldChangeCharacters 事件的代码示例或任何建议?

大概我需要继承EntryElement并实现一个UITextField(它有ShouldChangeCharacters事件)......但是我在继承类等时暴露事件没有太多经验。

看来我应该执行以下操作,但是如何公开此 ShouldChangeCharacters 事件?

using MonoTouch.Dialog;
using MonoTouch.UIKit;

class MyEntryElement : EntryElement 
{

    protected override UITextField CreateTextField(RectangleF frame)
    {
        var field = base.CreateTextField(frame);

        //How do I expose this?
        //field.ShouldChangeCharacters

        return field;
    }

}

基本上我希望能够输入:

MyEntryElement test = new MyEntryElement ();
        test.ShouldChangeCharacters += etc....
4

1 回答 1

2

您几乎拥有它,只需创建field一个类级别的变量,并为其创建一个公共属性。您也可以只为一个事件创建一个属性,然后将其提供给该字段,但我认为这稍微复杂一些。

class MyEntryElement : EntryElement 
{
    UITextField field; // Class-level variable
    protected override UITextField CreateTextField(RectangleF frame)
    {
        field = base.CreateTextField(frame);

        //How do I expose this?
        //field.ShouldChangeCharacters

        return field;
    }

    public UITextField Field {
        get { return field; }
    }

}

现在你可以这样做:

MyEntryElement test = new MyEntryElement ();
test.Field.ShouldChangeCharacters += etc....
于 2013-08-16T22:24:08.867 回答