1
0
mirror of https://github.com/DarthAffe/RGB.NET.git synced 2025-12-12 17:48:31 +00:00
RGB.NET/RGB.NET.WPF/Converter/ColorToSolidColorBrushConverter.cs

33 lines
1.2 KiB
C#

using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
namespace RGB.NET.WPF.Converter
{
/// <inheritdoc />
/// <summary>
/// Converts <see cref="T:RGB.NET.Core.Color" /> into <see cref="T:System.Windows.Media.SolidColorBrush" />.
/// </summary>
[ValueConversion(typeof(Core.Color), typeof(SolidColorBrush))]
public class ColorToSolidColorBrushConverter : IValueConverter
{
/// <inheritdoc />
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Core.Color color = value as Core.Color;
return new SolidColorBrush(color == null
? Color.FromArgb(0, 0, 0, 0)
: Color.FromArgb(color.A, color.R, color.G, color.B));
}
/// <inheritdoc />
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return !(value is SolidColorBrush brush)
? Core.Color.Transparent
: new Core.Color(brush.Color.A, brush.Color.R, brush.Color.G, brush.Color.B);
}
}
}