Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/Common/Converters/Rv2WinColorConverter.cs

39 lines
1.2 KiB
C#
Raw Normal View History

2025-04-24 20:56:44 +08:00
using System.Globalization;
2024-09-22 11:05:41 +08:00
using System.Windows.Data;
2025-09-12 09:55:36 +08:00
2024-09-22 11:05:41 +08:00
using Color = System.Windows.Media.Color;
2026-02-21 16:31:24 +08:00
using ShrlAlgoToolkit.RevitAddins.UI.Converters;
using ShrlAlgoToolkit;
using ShrlAlgoToolkit.RevitAddins;
using ShrlAlgoToolkit.RevitAddins.UI;
namespace ShrlAlgoToolkit.RevitAddins.Common.Converters;
2024-09-22 11:05:41 +08:00
/// <summary>
/// Autodesk颜色转Windows系统颜色
/// </summary>
public class Rv2WinColorConverter : IValueConverter
{
2026-02-21 16:31:24 +08:00
public static Converters.Rv2WinColorConverter Instance { get; } = new Converters.Rv2WinColorConverter();
2025-09-12 09:55:36 +08:00
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;
}
2024-09-22 11:05:41 +08:00
2025-09-12 09:55:36 +08:00
return new Color();
}
2024-09-22 11:05:41 +08:00
2025-09-12 09:55:36 +08:00
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;
}
2024-09-22 11:05:41 +08:00
}