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
}