XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

HaloPixelToolBox

【WinUI3】基于USB HID通讯的花再音响工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
using XFEExtension.NetCore.XFEConsole;

namespace HaloPixelToolBox.Backend.Utilities.Selector;

public partial class LogItemTemplateSelector : DataTemplateSelector
{
    public DataTemplate? DebugTemplate { get; set; }
    public DataTemplate? TraceTemplate { get; set; }
    public DataTemplate? InfoTemplate { get; set; }
    public DataTemplate? ErrorTemplate { get; set; }
    public DataTemplate? WarningTemplate { get; set; }
    public DataTemplate? FatalTemplate { get; set; }

    protected override DataTemplate? SelectTemplateCore(object item)
    {
        if (item is not XFELogEntry logEntry) return InfoTemplate;
        switch (logEntry.Level)
        {
            case LogLevel.Trace:
                return TraceTemplate;
            case LogLevel.Debug:
                return DebugTemplate;
            case LogLevel.Info:
                break;
            case LogLevel.Warning:
                return WarningTemplate;
            case LogLevel.Error:
                return ErrorTemplate;
            case LogLevel.Fatal:
                return FatalTemplate;
            default:
                break;
        }
        return InfoTemplate;
    }
}