namespace Melskin.Assists; /// /// ShadingAssist 类提供了一种方式,用于通过依赖属性来设置UI元素的阴影和高亮效果。此类允许开发者为指定的UI元素定义光刷、暗刷、禁用背景色、禁用前景色以及高亮边框颜色。 /// 该类继承自DependencyObject,确保了其可以参与到WPF的数据绑定系统中,从而动态地改变UI元素的视觉效果。 /// public class ShadingAssist { #region LightBrush /// /// 获取指定依赖对象的浅阴影效果颜色刷。 /// /// 要获取浅阴影颜色刷的依赖对象。 /// 表示浅阴影效果的颜色刷。 public static SolidColorBrush GetLightShadowBrush(DependencyObject obj) { return (SolidColorBrush)obj.GetValue(LightShadowBrushProperty); } /// /// 为指定的DependencyObject设置表示浅阴影效果的颜色刷。 /// /// 要设置浅阴影颜色刷的依赖对象。 /// 将要应用到指定对象上的浅阴影SolidColorBrush。 public static void SetLightShadowBrush(DependencyObject obj, SolidColorBrush value) { obj.SetValue(LightShadowBrushProperty, value); } /// /// 用于获取或设置指定UI元素的浅阴影画刷颜色。此依赖属性允许开发者定义一个SolidColorBrush对象来作为UI元素的浅阴影效果,从而增强视觉层次感。 /// 默认值为白色(Brushes.White)。 /// public static readonly DependencyProperty LightShadowBrushProperty = DependencyProperty.RegisterAttached("LightShadowBrush", typeof(SolidColorBrush), typeof(ShadingAssist), new PropertyMetadata(Brushes.White)); #endregion #region ShadowBrush /// /// 获取指定依赖对象的深阴影效果颜色刷。 /// /// 要获取深阴影颜色刷的依赖对象。 /// 表示深阴影效果的颜色刷。 public static SolidColorBrush GetDarkShadowBrush(DependencyObject obj) { return (SolidColorBrush)obj.GetValue(DarkShadowBrushProperty); } /// /// 为指定的依赖对象设置深阴影效果颜色刷。 /// /// 要为其设置深阴影颜色刷的依赖对象。 /// 表示深阴影效果的颜色刷。 public static void SetDarkShadowBrush(DependencyObject obj, SolidColorBrush value) { obj.SetValue(DarkShadowBrushProperty, value); } /// /// 用于获取或设置指定UI元素的深阴影画刷颜色。此依赖属性允许开发者定义一个SolidColorBrush对象来作为UI元素的深阴影效果,从而增强视觉层次感。 /// 默认值为黑色(Brushes.Black)。 /// public static readonly DependencyProperty DarkShadowBrushProperty = DependencyProperty.RegisterAttached("DarkShadowBrush", typeof(SolidColorBrush), typeof(ShadingAssist), new PropertyMetadata(Brushes.Black)); #endregion #region DisabledBackground /// /// 获取指定依赖对象的禁用背景色。 /// /// 要获取禁用背景色的依赖对象。 /// 表示禁用状态下的背景颜色刷。 public static Brush GetDisabledBackground(DependencyObject obj) { return (Brush)obj.GetValue(DisabledBackgroundProperty); } /// /// 为指定的依赖对象设置禁用状态下的背景色。 /// /// 要设置禁用背景色的依赖对象。 /// 新的禁用背景色刷。 public static void SetDisabledBackground(DependencyObject obj, Brush value) { obj.SetValue(DisabledBackgroundProperty, value); } /// /// 用于获取或设置指定UI元素在禁用状态下的背景色。此依赖属性允许开发者定义一个Brush对象来作为UI元素处于不可用状态时的背景颜色,有助于用户直观地识别出元素当前不可交互。 /// 默认值为灰色(Brushes.Gray)。 /// public static readonly DependencyProperty DisabledBackgroundProperty = DependencyProperty.RegisterAttached("DisabledBackground", typeof(Brush), typeof(ShadingAssist), new PropertyMetadata(Brushes.Gray)); #endregion #region DisabledForeground /// /// 获取指定依赖对象的禁用状态下的前景色刷。 /// /// 要获取禁用前景色刷的依赖对象。 /// 表示禁用状态下前景效果的颜色刷。 public static Brush GetDisabledForeground(DependencyObject obj) { return (Brush)obj.GetValue(DisabledForegroundProperty); } /// /// 设置指定依赖对象的禁用状态前景色。 /// /// 要设置禁用状态前景色的依赖对象。 /// 表示禁用状态前景色的画刷。 public static void SetDisabledForeground(DependencyObject obj, Brush value) { obj.SetValue(DisabledForegroundProperty, value); } /// /// 用于获取或设置指定UI元素在禁用状态下的前景色。此依赖属性允许开发者定义一个Brush对象来作为UI元素在不可用状态时的文本或其他前景内容的颜色,以区分于正常状态。 /// 默认值为深灰色(Brushes.DarkGray)。 /// public static readonly DependencyProperty DisabledForegroundProperty = DependencyProperty.RegisterAttached("DisabledForeground", typeof(Brush), typeof(ShadingAssist), new PropertyMetadata(Brushes.DarkGray)); #endregion #region LightedBorder /// /// 获取指定依赖对象的高亮边框颜色刷。 /// /// 要获取高亮边框颜色刷的依赖对象。 /// 表示高亮边框的颜色刷。 public static Brush GetLightedBorder(DependencyObject obj) { return (Brush)obj.GetValue(LightedBorderProperty); } /// /// 设置指定依赖对象的光照边框颜色刷。 /// /// 要设置光照边框颜色刷的依赖对象。 /// 表示光照边框效果的颜色刷。 public static void SetLightedBorder(DependencyObject obj, Brush value) { obj.SetValue(LightedBorderProperty, value); } /// /// 用于获取或设置指定UI元素的高亮边框颜色。此依赖属性允许开发者定义一个Brush对象来作为UI元素的高亮边框效果,从而增强视觉层次感。 /// 默认值为白色(Brushes.White)。 /// public static readonly DependencyProperty LightedBorderProperty = DependencyProperty.RegisterAttached("LightedBorder", typeof(Brush), typeof(ShadingAssist), new PropertyMetadata(Brushes.White)); #endregion }