Sic08/SicSetupMaker/Converters/LogLevelToIconConverter.cs

52 lines
1.6 KiB
C#

using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
using MaterialDesignThemes.Wpf;
namespace SicSetupMaker.Converters
{
public class LogLevelToIconConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is LogLevels level)
{
var brushConv = new LogLevelToSolidColorBrushConverter();
var icon = new PackIcon();
switch (level)
{
case LogLevels.Info:
icon.Kind = PackIconKind.InfoCircle;
break;
case LogLevels.Warning:
icon.Kind = PackIconKind.AlertCircle;
break;
case LogLevels.Error:
case LogLevels.Critical:
icon.Kind = PackIconKind.CloseCircle;
break;
default:
icon.Kind = PackIconKind.CheckboxBlankCircle;
break;
}
icon.Foreground = brushConv.Convert(level, targetType, parameter, culture) as SolidColorBrush;
return icon;
}
else
{
return null;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}