功能完善

This commit is contained in:
ShrlAlgo
2025-08-20 12:10:13 +08:00
parent d0cfc64450
commit fcd306b0f7
270 changed files with 11503 additions and 7193 deletions

View File

@@ -0,0 +1,47 @@
using System.Globalization;
using System.Windows.Data;
namespace NeoUI.Controls;
/// <summary>
/// 将色相值转换为画刷的转换器。此转换器实现了IValueConverter接口用于在绑定过程中将int类型的色相值转换成相应的SolidColorBrush。
/// 转换方法使用HsvToRgb静态方法来根据给定的色相、饱和度固定为1.0和亮度固定为1.0生成颜色并创建一个SolidColorBrush实例。
/// 如果输入值不是int类型则返回一个透明的画刷。
/// </summary>
public class HueToBrushConverter : IValueConverter
{
/// <summary>
/// 将色相值转换为画刷的方法。此方法实现了IValueConverter接口中的Convert方法用于在数据绑定过程中将int类型的色相值转换成相应的SolidColorBrush。
/// 如果输入值是int类型则根据给定的色相、饱和度固定为1.0和亮度固定为1.0生成颜色并创建一个SolidColorBrush实例。如果输入值不是int类型则返回一个透明的画刷。
/// </summary>
/// <param name="value">要转换的色相值。</param>
/// <param name="t">目标类型,即转换后的数据类型,这里通常不需要使用。</param>
/// <param name="p">参数,通常用于传递额外的信息给转换器,本方法中未使用。</param>
/// <param name="c">文化信息,提供关于语言、国家/地区等的信息,以支持区域性特定的转换,本方法中未使用。</param>
/// <returns>如果输入值是有效的int类型色相值则返回对应的颜色画刷否则返回一个透明画刷。</returns>
public object Convert(object? value,
System.Type t,
object? p,
CultureInfo c) =>
value is int hue
? new SolidColorBrush(ColorPanel.HsvToRgb(hue,
1.0,
1.0,
255))
: Brushes.Transparent;
/// <summary>
/// 将画刷转换回色相值的方法。当前实现中此方法抛出NotImplementedException异常表示尚未实现该功能。
/// </summary>
/// <param name="v">要转换的画刷对象。</param>
/// <param name="t">目标类型,即转换后的数据类型。</param>
/// <param name="p">参数,通常用于传递额外的信息给转换器。</param>
/// <param name="c">文化信息,提供关于语言、国家/地区等的信息,以支持区域性特定的转换。</param>
/// <returns>由于方法未实现,实际上不返回任何有意义的数据,并且总是抛出异常。</returns>
/// <exception cref="NotImplementedException">始终抛出此异常因为ConvertBack方法在当前版本中没有具体实现。</exception>
public object ConvertBack(object? v,
System.Type t,
object? p,
CultureInfo c) =>
Binding.DoNothing;
}