Files
ShrlAlgoToolkit/NeuWPF/NeoUI/Assists/ToggleSwitchAssist.cs
ShrlAlgo 955a01f564 整理
2025-08-20 12:10:35 +08:00

154 lines
6.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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));
}