154 lines
6.4 KiB
C#
154 lines
6.4 KiB
C#
namespace NeoUI.Assists;
|
||
|
||
/// <summary>
|
||
/// 提供了对开关控件(ToggleSwitch)的辅助支持,包括设置开关状态文本、是否显示文本以及图标等内容。
|
||
/// 通过该类可以方便地扩展和自定义开关控件的行为与外观。
|
||
/// </summary>
|
||
public class ToggleSwitchAssist
|
||
{
|
||
/// <summary>
|
||
/// 获取指定依赖对象的开关处于关闭状态时显示的文本。
|
||
/// </summary>
|
||
/// <param name="obj">要获取关闭状态文本的依赖对象。</param>
|
||
/// <returns>返回一个字符串,表示开关处于关闭状态时显示的文本。</returns>
|
||
public static string GetOffText(DependencyObject obj)
|
||
{
|
||
return (string)obj.GetValue(OffTextProperty);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置开关控件在关闭状态时显示的文本。
|
||
/// </summary>
|
||
/// <param name="obj">依赖对象,通常为开关控件实例。</param>
|
||
/// <param name="value">要设置的文本值。</param>
|
||
public static void SetOffText(DependencyObject obj, string value)
|
||
{
|
||
obj.SetValue(OffTextProperty, value);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 用于获取或设置开关处于关闭状态时显示的文本。
|
||
/// 默认值为"关"。此依赖属性支持动画、样式和数据绑定等功能。
|
||
/// </summary>
|
||
public static readonly DependencyProperty OffTextProperty =
|
||
DependencyProperty.RegisterAttached("OffText", typeof(string), typeof(ToggleSwitchAssist), new PropertyMetadata("关"));
|
||
|
||
|
||
/// <summary>
|
||
/// 获取指定依赖对象的开关处于开启状态时显示的文本。
|
||
/// </summary>
|
||
/// <param name="obj">要获取开启状态文本的依赖对象。</param>
|
||
/// <returns>返回一个字符串,表示开关处于开启状态时显示的文本。</returns>
|
||
public static string GetOnText(DependencyObject obj)
|
||
{
|
||
return (string)obj.GetValue(OnTextProperty);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置指定依赖对象的开关处于开启状态时显示的文本。
|
||
/// </summary>
|
||
/// <param name="obj">要设置开启状态文本的依赖对象。</param>
|
||
/// <param name="value">要设置的文本值。</param>
|
||
public static void SetOnText(DependencyObject obj, string value)
|
||
{
|
||
obj.SetValue(OnTextProperty, value);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 用于获取或设置开关处于开启状态时显示的文本。
|
||
/// 默认值为"开"。此依赖属性支持动画、样式和数据绑定等功能。
|
||
/// </summary>
|
||
public static readonly DependencyProperty OnTextProperty =
|
||
DependencyProperty.RegisterAttached("OnText", typeof(string), typeof(ToggleSwitchAssist), new PropertyMetadata("开"));
|
||
|
||
|
||
/// <summary>
|
||
/// 获取指定依赖对象的开关是否显示文本的状态。
|
||
/// </summary>
|
||
/// <param name="obj">要获取显示文本状态的依赖对象。</param>
|
||
/// <returns>返回一个布尔值,表示开关是否显示文本。如果为true,则显示文本;如果为false,则不显示文本。</returns>
|
||
public static bool GetShowText(DependencyObject obj)
|
||
{
|
||
return (bool)obj.GetValue(ShowTextProperty);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置指定依赖对象的开关控件是否显示文本。
|
||
/// </summary>
|
||
/// <param name="obj">要设置显示文本状态的依赖对象。</param>
|
||
/// <param name="value">布尔值,表示是否显示文本。如果为true,则显示文本;如果为false,则不显示文本。</param>
|
||
public static void SetShowText(DependencyObject obj, bool value)
|
||
{
|
||
obj.SetValue(ShowTextProperty, value);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 用于获取或设置是否显示开关状态文本。
|
||
/// 默认值为false。此依赖属性支持动画、样式和数据绑定等功能。
|
||
/// </summary>
|
||
public static readonly DependencyProperty ShowTextProperty =
|
||
DependencyProperty.RegisterAttached("ShowText", typeof(bool), typeof(ToggleSwitchAssist), new PropertyMetadata(false));
|
||
|
||
|
||
/// <summary>
|
||
/// 获取指定依赖对象的开关处于关闭状态时的内容。
|
||
/// </summary>
|
||
/// <param name="obj">要获取关闭状态内容的依赖对象。</param>
|
||
/// <returns>返回一个对象,表示开关处于关闭状态时显示的内容。</returns>
|
||
public static object GetOffContent(DependencyObject obj)
|
||
{
|
||
return (object)obj.GetValue(OffContentProperty);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置指定依赖对象的开关处于关闭状态时显示的内容。
|
||
/// </summary>
|
||
/// <param name="obj">要设置关闭状态内容的依赖对象。</param>
|
||
/// <param name="value">要设置为关闭状态时显示的内容。</param>
|
||
public static void SetOffContent(DependencyObject obj, object value)
|
||
{
|
||
obj.SetValue(OffContentProperty, value);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 用于获取或设置开关处于关闭状态时显示的内容。
|
||
/// 默认值为null。此依赖属性支持动画、样式和数据绑定等功能。
|
||
/// </summary>
|
||
public static readonly DependencyProperty OffContentProperty =
|
||
DependencyProperty.RegisterAttached("OffContent", typeof(object), typeof(ToggleSwitchAssist), new PropertyMetadata(null));
|
||
|
||
|
||
/// <summary>
|
||
/// 获取指定依赖对象的开关处于开启状态时的内容。
|
||
/// </summary>
|
||
/// <param name="obj">要获取开启状态内容的依赖对象。</param>
|
||
/// <returns>返回一个对象,表示开关处于开启状态时的内容。</returns>
|
||
public static object GetOnContent(DependencyObject obj)
|
||
{
|
||
return (object)obj.GetValue(OnContentProperty);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置指定依赖对象的开关处于开启状态时显示的内容。
|
||
/// </summary>
|
||
/// <param name="obj">要设置开启状态内容的依赖对象。</param>
|
||
/// <param name="value">要设置为开启状态时显示的内容,可以是任何类型的对象,如字符串或UI元素。</param>
|
||
public static void SetOnContent(DependencyObject obj, object value)
|
||
{
|
||
obj.SetValue(OnContentProperty, value);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 用于获取或设置开关处于开启状态时显示的内容。
|
||
/// 默认值为null。此依赖属性支持动画、样式和数据绑定等功能。
|
||
/// </summary>
|
||
public static readonly DependencyProperty OnContentProperty =
|
||
DependencyProperty.RegisterAttached("OnContent", typeof(object), typeof(ToggleSwitchAssist), new PropertyMetadata(null));
|
||
|
||
|
||
}
|