protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.Label> e)
        {
            base.OnElementChanged(e);
            if (e.OldElement != null || this.Element == null)
            {
                return;
            }

            var labelControl = (MvvmAspire.Controls.Label)Element;

            labelControl.PropertyChanged += (s, ev) =>
            {
                //if (labelControl != null)
                //    UpdateInputType(labelControl);

                switch (ev.PropertyName)
                {
                case "Font": SetTypeface(); break;

                case "MaxLines": SetMaxLines(); break;

                case "Text": SetTypeface(); break;

                case "TextStyle": SetTextStyle(); break;

                case "Command": SetCommand(); break;

                case "MaxWidth": SetMaxWidth(); break;

                case "IsSelectable": IsSelectable(); break;
                }
            };
            SetTypeface();
            SetMaxLines();
            SetCommand();
            SetMaxWidth();
            IsSelectable();
            if (Base.RefitTextEnabled)
            {
                minSize = convertFromDp(Resources.GetDimension(UIHelper.GetDimensionResource("text_size")));
            }

            UpdateInputType();

            currentWidth = Control.Width;

            Control.SetPadding(BaseUIHelper.ConvertDPToPixels(labelControl.Padding.Left),
                               BaseUIHelper.ConvertDPToPixels(labelControl.Padding.Top),
                               BaseUIHelper.ConvertDPToPixels(labelControl.Padding.Right),
                               BaseUIHelper.ConvertDPToPixels(labelControl.Padding.Bottom));

            //if (Base.MaxCharacters.HasValue)
            //{
            //    Control.SetFilters(new IInputFilter[] { new InputFilterLengthFilter(Base.MaxCharacters.Value) });
            //}

            SetTextStyle();
            SetAccessibilityTraits();
        }