private static void initializeShadow(DependencyObject i, double?value, ShadowDirection direction, bool allowShadows) { var uiElement = i as UIElement; if (uiElement != null && value.HasValue) { if (!allowShadows) { uiElement.Effect = null; return; } if (value.Value >= 0) { if (value == 0) { uiElement.Effect = null; } else { var shadow = ShadowInterpolator.Interpolate(value.Value, direction); uiElement.Effect = shadow; } } } }