Files
@ c4151b335d1f
Branch filter:
Location: ATITD-Tools/Desert-Paint-Codex/Converters/EnumBooleanConverter.cs - annotation
c4151b335d1f
1006 B
text/x-csharp
Add a step to publish as a self-contained executable.
40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 40eaee10ae56 |
using System;
using Avalonia.Data.Converters;
namespace DesertPaintCodex.Converters
{
public class EnumBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is not Enum en) return false;
string? parameterString = parameter.ToString();
if (parameterString == null) return false;
object parameterValue = Enum.Parse(value.GetType(), parameterString);
return parameterValue.Equals(value);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is not bool) return false;
string? parameterString = parameter.ToString();
if (parameterString == null) return false;
return Enum.Parse(targetType, parameterString);
}
}
}
|