52 lines
1.6 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|