有没有人有关于如何在monotouch 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....
答案 0 :(得分: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....