【问题标题】:C# Monotouch/Xamarin - EntryElement ShouldChangeCharacters EventC# Monotouch/Xamarin - EntryElement ShouldChangeCharacters 事件
【发布时间】:2013-06-30 10:49:55
【问题描述】:

有没有人有代码示例或关于如何在 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....

【问题讨论】:

    标签: c# xamarin.ios xamarin monotouch.dialog entryelement


    【解决方案1】:

    您几乎拥有它,只需将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....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      相关资源
      最近更新 更多