2013-06-30 4 views
0

Есть ли у кого-нибудь образец кода или какие-либо рекомендации о том, как я могу реализовать событие ShouldChangeCharacters в классе monotouch EntryElement?C# Monotouch/Xamarin - EntryElement ShouldChangeCharacters Event

Предположительно мне нужно наследовать 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.... 

ответ

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....