| 1234567891011121314151617181920212223242526272829 |
- using System;
- using System.Globalization;
- using System.Windows.Data;
- using MahApps.Metro.IconPacks;
- namespace TeamAAS
- {
- /// <summary>
- /// 图标 Kind 名(如 "Camera" / "Cog")→ <see cref="PackIconMaterialKind"/>,供 PackIconMaterial.Kind 绑定用。
- /// 为空或无法识别(含遗留的 SVG 路径串)时回退 CircleOutline,保证不崩、不空白。
- /// </summary>
- public sealed class IconKindConverter : IValueConverter
- {
- /// <summary>把 Kind 名解析为枚举;为空/无法识别(含遗留 SVG 路径)回退 CircleOutline。供 code-behind 复用。</summary>
- public static PackIconMaterialKind ToKind(string name)
- {
- if (!string.IsNullOrWhiteSpace(name) &&
- Enum.TryParse(name.Trim(), ignoreCase: true, out PackIconMaterialKind kind))
- return kind;
- return PackIconMaterialKind.CircleOutline;
- }
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- => ToKind(value as string);
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- => throw new NotSupportedException();
- }
- }
|