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(); }