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