protected void ApplyAttributes(View view, ViewAttributes attrs) { if (view == null || attrs == null) { return; } if (attrs.Position2D != null) { view.Position2D = attrs.Position2D; } if (attrs.Size2D != null) { view.Size2D = attrs.Size2D; } if (attrs.MinimumSize != null) { view.MinimumSize = attrs.MinimumSize; } if (attrs.BackgroundColor?.GetValue(State) != null) { view.BackgroundColor = attrs.BackgroundColor.GetValue(State); } if (attrs.PositionUsesPivotPoint != null) { view.PositionUsesPivotPoint = attrs.PositionUsesPivotPoint.Value; } if (attrs.ParentOrigin != null) { view.ParentOrigin = attrs.ParentOrigin; } if (attrs.PivotPoint != null) { view.PivotPoint = attrs.PivotPoint; } if (attrs.WidthResizePolicy != null) { view.WidthResizePolicy = attrs.WidthResizePolicy.Value; } if (attrs.HeightResizePolicy != null) { view.HeightResizePolicy = attrs.HeightResizePolicy.Value; } if (attrs.SizeModeFactor != null) { view.SizeModeFactor = attrs.SizeModeFactor; } if (attrs.Opacity?.GetValue(State) != null) { view.Opacity = attrs.Opacity.GetValue(State).Value; } ImageView image = view as ImageView; ImageAttributes imageAttrs = attrs as ImageAttributes; if (image != null && imageAttrs != null) { if (imageAttrs.ResourceURL?.GetValue(State) != null) { image.ResourceUrl = imageAttrs.ResourceURL.GetValue(State); } if (imageAttrs.Border?.GetValue(State) != null) { image.Border = imageAttrs.Border.GetValue(State); } } TextLabel text = view as TextLabel; TextAttributes textAttrs = attrs as TextAttributes; if (text != null && textAttrs != null) { if (textAttrs.Text?.GetValue(State) != null) { text.Text = textAttrs.Text.GetValue(State); } if (textAttrs.TranslatableText?.GetValue(State) != null) { text.TranslatableText = textAttrs.TranslatableText.GetValue(State); } if (textAttrs.MultiLine != null) { text.MultiLine = textAttrs.MultiLine.Value; } if (textAttrs.HorizontalAlignment != null) { text.HorizontalAlignment = textAttrs.HorizontalAlignment.Value; } if (textAttrs.VerticalAlignment != null) { text.VerticalAlignment = textAttrs.VerticalAlignment.Value; } if (textAttrs.EnableMarkup != null) { text.EnableMarkup = textAttrs.EnableMarkup.Value; } if (textAttrs.AutoScrollLoopCount != null) { text.AutoScrollLoopCount = textAttrs.AutoScrollLoopCount.Value; } if (textAttrs.AutoScrollSpeed != null) { text.AutoScrollSpeed = textAttrs.AutoScrollSpeed.Value; } if (textAttrs.AutoScrollGap != null) { text.AutoScrollGap = textAttrs.AutoScrollGap.Value; } if (textAttrs.AutoScrollLoopDelay != null) { text.AutoScrollLoopDelay = textAttrs.AutoScrollLoopDelay.Value; } if (textAttrs.AutoScrollStopMode != null) { text.AutoScrollStopMode = textAttrs.AutoScrollStopMode.Value; } if (textAttrs.LineSpacing != null) { text.LineSpacing = textAttrs.LineSpacing.Value; } if (textAttrs.TextColor?.GetValue(State) != null) { text.TextColor = textAttrs.TextColor.GetValue(State); } if (textAttrs.FontFamily != null) { text.FontFamily = textAttrs.FontFamily; } if (textAttrs.PointSize?.GetValue(State) != null) { text.PointSize = textAttrs.PointSize.GetValue(State).Value; } int thickness = 0; if (textAttrs.OutstrokeThickness?.GetValue(State) != null) { thickness = textAttrs.OutstrokeThickness.GetValue(State).Value; } if (textAttrs.OutstrokeColor?.GetValue(State) != null) { Color outstrokeColor = textAttrs.OutstrokeColor.GetValue(State); PropertyMap outlineMap = new PropertyMap(); outlineMap.Add("color", new PropertyValue(new Color(outstrokeColor.R, outstrokeColor.G, outstrokeColor.B, outstrokeColor.A))); outlineMap.Add("width", new PropertyValue(thickness)); text.Outline = outlineMap; } else { text.Outline = new PropertyMap(); } } TextField textField = view as TextField; TextFieldAttributes textFieldAttrs = attrs as TextFieldAttributes; if (textField != null && textFieldAttrs != null) { if (textFieldAttrs.Text?.GetValue(State) != null) { textField.Text = textFieldAttrs.Text.GetValue(State); } if (textFieldAttrs.PlaceholderText?.GetValue(State) != null) { textField.PlaceholderText = textFieldAttrs.PlaceholderText.GetValue(State); } if (textFieldAttrs.TranslatablePlaceholderText?.GetValue(State) != null) { textField.TranslatablePlaceholderText = textFieldAttrs.TranslatablePlaceholderText.GetValue(State); } if (textFieldAttrs.HorizontalAlignment != null) { textField.HorizontalAlignment = textFieldAttrs.HorizontalAlignment.Value; } if (textFieldAttrs.VerticalAlignment != null) { textField.VerticalAlignment = textFieldAttrs.VerticalAlignment.Value; } if (textFieldAttrs.EnableMarkup != null) { textField.EnableMarkup = textFieldAttrs.EnableMarkup.Value; } if (textFieldAttrs.TextColor?.GetValue(State) != null) { textField.TextColor = textFieldAttrs.TextColor.GetValue(State); } if (textFieldAttrs.PlaceholderTextColor?.GetValue(State) != null) { textField.PlaceholderTextColor = textFieldAttrs.PlaceholderTextColor.GetValue(State); } if (textFieldAttrs.PrimaryCursorColor?.GetValue(State) != null) { textField.PrimaryCursorColor = textFieldAttrs.PrimaryCursorColor.GetValue(State); } if (textFieldAttrs.SecondaryCursorColor?.GetValue(State) != null) { textField.SecondaryCursorColor = textFieldAttrs.SecondaryCursorColor.GetValue(State); } if (textFieldAttrs.FontFamily != null) { textField.FontFamily = textFieldAttrs.FontFamily; } if (textFieldAttrs.PointSize?.GetValue(State) != null) { textField.PointSize = textFieldAttrs.PointSize.GetValue(State).Value; } if (textFieldAttrs.EnableCursorBlink != null) { textField.EnableCursorBlink = textFieldAttrs.EnableCursorBlink.Value; } if (textFieldAttrs.EnableSelection != null) { textField.EnableSelection = textFieldAttrs.EnableSelection.Value; } if (textFieldAttrs.CursorWidth != null) { textField.CursorWidth = textFieldAttrs.CursorWidth.Value; } if (textFieldAttrs.EnableEllipsis != null) { textField.Ellipsis = textFieldAttrs.EnableEllipsis.Value; } } }
public TextFieldAttributes(TextFieldAttributes attributes) : base(attributes) { if (null == attributes) { return; } if (null != attributes.Text) { Text = attributes.Text.Clone() as StringSelector; } if (null != attributes.PlaceholderText) { PlaceholderText = attributes.PlaceholderText.Clone() as StringSelector; } if (null != attributes.TranslatablePlaceholderText) { TranslatablePlaceholderText = attributes.TranslatablePlaceholderText.Clone() as StringSelector; } if (null != attributes.HorizontalAlignment) { HorizontalAlignment = attributes.HorizontalAlignment; } if (null != attributes.VerticalAlignment) { VerticalAlignment = attributes.VerticalAlignment; } if (null != attributes.EnableMarkup) { EnableMarkup = attributes.EnableMarkup; } if (null != attributes.TextColor) { TextColor = attributes.TextColor.Clone() as ColorSelector; } if (null != attributes.PlaceholderTextColor) { PlaceholderTextColor = attributes.PlaceholderTextColor.Clone() as ColorSelector; } if (null != attributes.PrimaryCursorColor) { PrimaryCursorColor = attributes.PrimaryCursorColor.Clone() as ColorSelector; } if (null != attributes.SecondaryCursorColor) { SecondaryCursorColor = attributes.SecondaryCursorColor.Clone() as ColorSelector; } if (null != attributes.FontFamily) { FontFamily = attributes.FontFamily; } if (null != attributes.PointSize) { PointSize = attributes.PointSize.Clone() as FloatSelector; } if (null != attributes.EnableCursorBlink) { EnableCursorBlink = attributes.EnableCursorBlink; } if (null != attributes.EnableSelection) { EnableSelection = attributes.EnableSelection; } if (null != attributes.CursorWidth) { CursorWidth = attributes.CursorWidth; } if (null != attributes.EnableEllipsis) { EnableEllipsis = attributes.EnableEllipsis; } }