功能更新

This commit is contained in:
GG Z
2026-02-12 21:29:00 +08:00
parent a9faf251be
commit b3479d1f39
342 changed files with 4671 additions and 2223 deletions

View File

@@ -0,0 +1,28 @@
using System.Globalization;
using System.Windows.Data;
namespace Melskin.Converters.Internal;
/// <summary>
/// IntensityToSlotShadowMarginConverter 类用于将阴影强度double类型转换为阴影边距Thickness类型。此转换器特别适用于需要根据阴影强度动态调整UI元素阴影边距的场景。
/// 该类实现了IValueConverter接口提供了从双精度浮点数到厚度值的单向转换逻辑。转换过程中基于输入的强度值计算出一个偏移量并以此构建新的 Thickness 实例来表示阴影边距。
/// 注意:此转换器不支持反向转换操作。
/// </summary>
[ValueConversion(typeof(double), typeof(Thickness))]
internal class IntensityToSlotShadowMarginConverter : IValueConverter
{
public static readonly IntensityToSlotShadowMarginConverter Instance = new();
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
{
var intensity = (double)(value ?? 0);
//此处与中央Margin匹配
var offset = 4 + intensity * 4;
return new Thickness(0, 0, offset, offset);
}
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
{
return Binding.DoNothing;
}
}