private static void ApplyValuePropertyCallback(HtmlObject target, ControlProperty property, Object value, ControlPropertyApplyResult result) { var applierTarget = target as IValuePropertyApplier; if (applierTarget != null) applierTarget.ApplyValueProperty(target, property, value, result); else throw new Exception("The target control must implement IValuePropertyApplier in order to accepted ValueProperty value apply."); }
/// <summary> /// Aplica a propriedade à saída de um controle. /// </summary> /// <param name="target">Controle alvo</param> /// <param name="property">Propriedade sendo aplicada</param> /// <param name="value">Valor da propriedade sendo aplicada</param> /// <param name="result">Resultado da saida da renderização atual.</param> public void ApplyProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { if (value.AsString().HasValue()) { if (Raw) result.RawInnerText.Append(value.AsString()); else result.InnerText.Append(value.AsString()); } }
/// <summary> /// Aplica o atributo de visibilidade a um controle. /// </summary> /// <param name="target"></param> /// <param name="property"></param> /// <param name="value"></param> /// <param name="result"></param> public void ApplyProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { var state = (Visibility)value; switch (state) { case Visibility.Visible: result.Styles.Remove(CssProperty.Visibility); break; case Visibility.Hidden: result.Styles[CssProperty.Visibility] = state.ToString().ToLower(); break; case Visibility.None: result.Styles.Remove(CssProperty.Visibility); result.Styles[CssProperty.Display] = "none"; break; } }
/// <summary> /// Aplica a propriedade à saída de um controle. /// </summary> /// <param name="target">Controle alvo</param> /// <param name="property">Propriedade sendo aplicada</param> /// <param name="value">Valor da propriedade sendo aplicada</param> /// <param name="result">Resultado da saida da renderização atual.</param> public void ApplyProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { var thickness = value as Thickness; if (value != null && thickness.IsSetted()) { if (thickness.AllValuesIsSetted()) result.Styles[CssAttribute] = thickness.GetAllValuesString(); else { var str = CssAttribute.ToString().ToLower(); if (thickness.Top.HasValue) result.Styles[CssConfig.GetEnumItemFromCssName<CssProperty>(str + "-top")] = thickness.GetTopStringValue(); if (thickness.Bottom.HasValue) result.Styles[CssConfig.GetEnumItemFromCssName<CssProperty>(str + "-bottom")] = thickness.GetBottomStringValue(); if (thickness.Left.HasValue) result.Styles[CssConfig.GetEnumItemFromCssName<CssProperty>(str + "-left")] = thickness.GetLeftStringValue(); if (thickness.Right.HasValue) result.Styles[CssConfig.GetEnumItemFromCssName<CssProperty>(str + "-right")] = thickness.GetRightStringValue(); } } }
protected abstract void ApplyValueProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result);
void IValuePropertyApplier.ApplyValueProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { this.ApplyValueProperty(target, property, value, result); }
protected override void ApplyValueProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { if (value.AsString().HasValue()) { result.Attributes[HtmlAttr.Value] = value.AsString(); } }
/// <summary> /// Aplica a propriedade à saída de um controle. /// </summary> /// <param name="target">Controle alvo</param> /// <param name="property">Propriedade sendo aplicada</param> /// <param name="value">Valor da propriedade sendo aplicada</param> /// <param name="result">Resultado da saida da renderização atual.</param> public void ApplyProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { var thickness = value as Thickness; if (value != null && thickness.IsSetted()) { if (thickness.AllValuesIsSetted()) { result.Styles[CssAttribute] = thickness.GetAllValuesString(); } else { var str = CssAttribute.ToString().ToLower(); if (thickness.Top.HasValue) { result.Styles[CssConfig.GetEnumItemFromCssName <CssProperty>(str + "-top")] = thickness.GetTopStringValue(); } if (thickness.Bottom.HasValue) { result.Styles[CssConfig.GetEnumItemFromCssName <CssProperty>(str + "-bottom")] = thickness.GetBottomStringValue(); } if (thickness.Left.HasValue) { result.Styles[CssConfig.GetEnumItemFromCssName <CssProperty>(str + "-left")] = thickness.GetLeftStringValue(); } if (thickness.Right.HasValue) { result.Styles[CssConfig.GetEnumItemFromCssName <CssProperty>(str + "-right")] = thickness.GetRightStringValue(); } } } }
/// <summary> /// Aplica a propriedade à saída de um controle. /// </summary> /// <param name="target">Controle alvo</param> /// <param name="property">Propriedade sendo aplicada</param> /// <param name="value">Valor da propriedade sendo aplicada</param> /// <param name="result">Resultado da saida da renderização atual.</param> public void ApplyProperty(HtmlObject target, ControlProperty property, object value, ControlPropertyApplyResult result) { if (value.AsString().HasValue()) { if (Raw) { result.RawInnerText.Append(value.AsString()); } else { result.InnerText.Append(value.AsString()); } } }
private static void ApplyValuePropertyCallback(HtmlObject target, ControlProperty property, Object value, ControlPropertyApplyResult result) { var applierTarget = target as IValuePropertyApplier; if (applierTarget != null) { applierTarget.ApplyValueProperty(target, property, value, result); } else { throw new Exception("The target control must implement IValuePropertyApplier in order to accepted ValueProperty value apply."); } }