using System.Globalization; using System.Windows.Data; using Color = System.Windows.Media.Color; namespace ShrlAlgoToolkit.RevitAddins.Converters; /// /// Autodesk颜色转Windows系统颜色 /// 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; } }