Files
Shrlalgo.RvKits/ShrlAlgoToolkit.RevitAddins/Common/Converters/EnumDescriptionExtension.cs

32 lines
966 B
C#
Raw Normal View History

2026-02-20 16:47:26 +08:00
using System.ComponentModel;
2025-07-11 09:20:23 +08:00
using System.Windows.Markup;
2026-02-21 16:31:24 +08:00
using ShrlAlgoToolkit.RevitAddins.UI.Converters;
using ShrlAlgoToolkit;
using ShrlAlgoToolkit.RevitAddins;
using ShrlAlgoToolkit.RevitAddins.UI;
namespace ShrlAlgoToolkit.RevitAddins.Common.Converters
2025-07-11 09:20:23 +08:00
{
public class EnumDescriptionExtension : MarkupExtension
{
private readonly object _enumValue;
public EnumDescriptionExtension(object enumValue)
{
_enumValue = enumValue;
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
if (_enumValue == null) return string.Empty;
var field = _enumValue.GetType().GetField(_enumValue.ToString());
var attribute = field?.GetCustomAttributes(typeof(DescriptionAttribute), false)
.FirstOrDefault() as DescriptionAttribute;
return attribute?.Description ?? _enumValue.ToString();
}
}
}