using System; using System.Collections.Generic; using System.Drawing; using System.Globalization; using System.Text; using System.Windows.Data; using System.Windows.Markup; using System.Windows.Media; using Vinno.IUS.Common.Log; namespace vCloud.GeneratePackages.Tool.Extensions { public class LogLevelToColorConvertExtension : MarkupExtension, IValueConverter { [ThreadStatic] private static LogLevelToColorConvertExtension _converter; public override object ProvideValue(IServiceProvider serviceProvider) { return _converter ?? (_converter = new LogLevelToColorConvertExtension()); } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value != null) { if (Enum.TryParse(typeof(LogLevel), value.ToString(), out var level)) { switch (level) { case LogLevel.Info: return Brushes.Blue; case LogLevel.Warn: return Brushes.Goldenrod; case LogLevel.Error: return Brushes.Red; } } } return Brushes.Black; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }