2025-08-20 12:10:13 +08:00
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
using System.Windows.Data;
|
2026-01-02 17:30:41 +08:00
|
|
|
|
using Melskin.Assets;
|
2025-08-20 12:10:13 +08:00
|
|
|
|
|
2026-01-02 17:30:41 +08:00
|
|
|
|
namespace Melskin.Converters.Internal;
|
2025-08-20 12:10:13 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// SymbolToCharConverter 类用于将 MaterialSymbol 枚举值转换为其对应的字符表示。此转换器实现了 IValueConverter 接口,主要用于 WPF 应用程序中绑定数据时进行类型转换。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>
|
|
|
|
|
|
/// 该类提供了一个静态实例 Instance,可以直接在 XAML 中引用以避免重复创建对象。转换逻辑仅支持从 MaterialSymbol 到字符串的单向转换(Convert 方法),不支持反向转换(ConvertBack 方法未实现)。
|
|
|
|
|
|
/// </remarks>
|
2025-08-20 12:10:35 +08:00
|
|
|
|
internal class SymbolToCharConverter : IValueConverter
|
2025-08-20 12:10:13 +08:00
|
|
|
|
{
|
|
|
|
|
|
public static readonly SymbolToCharConverter Instance = new();
|
|
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
|
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (value is MaterialSymbol symbol)
|
|
|
|
|
|
{
|
|
|
|
|
|
return ((char)(int)symbol).ToString();
|
|
|
|
|
|
}
|
|
|
|
|
|
return string.Empty;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
|
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture)
|
|
|
|
|
|
{
|
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|