| 1234567891011121314151617181920212223242526272829303132333435363738 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Globalization;
- using System.Linq;
- using System.Reflection;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Data;
- using TeamAAS_VP.Attributes;
- namespace TeamAAS_VP.ValueConverter
- {
- public class EnumLocalizationConverter : EnumConverter
- {
- public EnumLocalizationConverter(Type type) : base(type)
- {
- }
- public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
- {
- return GetEnumResourceValue(value);
- }
- private string GetEnumResourceValue(object obj)
- {
- var fi = obj.GetType().GetField(obj.ToString());
- var attr = fi.GetCustomAttribute(typeof(LocalizationAttribute), false) as LocalizationAttribute;
- if (attr !=null)
- {
- return attr.ResourceType.GetProperty(attr.ResourceName, BindingFlags.Static | BindingFlags.Public).GetValue(null) as string;
- }
- return null;
- }
- }
- }
|