Files
Shrlalgo.RvKits/ShrlAlgo.RvKits/Converters/Rv2WinColorConverter.cs

33 lines
882 B
C#

using System;
using System.Globalization;
using System.Windows.Data;
using Color = System.Windows.Media.Color;
namespace ShrlAlgo.Toolkit.Mvvm.Converters;
/// <summary>
/// Autodesk颜色转Windows系统颜色
/// </summary>
public class Rv2WinColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var color = (Autodesk.Revit.DB.Color)value;
//if (Autodesk.Revit.DB.SelectedColor.InvalidColorValue)
//{
//}
if (color is { IsValid: true })
{
var rgb = Color.FromRgb(color.Red, color.Green, color.Blue);
return rgb;
}
return new Color();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value is Color rgb ? new Autodesk.Revit.DB.Color(rgb.R, rgb.G, rgb.B) : (object)Autodesk.Revit.DB.Color.InvalidColorValue;
}
}