protected override string GetValue(Highlight h) { switch(h.GridFontStyle) { case System.Drawing.FontStyle.Italic: return "Italic"; default: return string.Empty; } }
protected override string GetValue(Highlight h) { return h.GridBackground; }
protected abstract string GetValue(Highlight h);
public static void SetHighlight(DependencyObject obj, Highlight? value) { obj.SetValue(HighlightProperty, value); }
protected override void SetHighlightValue(FrameworkElement ctrl, DependencyProperty dpProp, Highlight h, Converter.HighlightConverter converter, TypeConverter finalConverter) { if (dpProp != BackgroundProperty) base.SetHighlightValue(ctrl, dpProp, h, converter, finalConverter); }
protected virtual void SetHighlightValue(FrameworkElement ctrl, DependencyProperty dpProp, Highlight h, HighlightConverter converter, TypeConverter finalConverter) { if (converter == null) throw new ArgumentNullException("converter"); if (finalConverter == null) throw new ArgumentNullException("finalConverter"); var value = converter.Convert(h, null, null, null); if (value == Binding.DoNothing) ctrl.SetValue(dpProp, DependencyProperty.UnsetValue); else if (value == null) ctrl.SetValue(dpProp, null); else if (dpProp.PropertyType.IsAssignableFrom(value.GetType())) ctrl.SetValue(dpProp, value); else ctrl.SetValue(dpProp, finalConverter.ConvertFrom(value)); }