Вы можете написать простой класс-оболочку для Color, который выставляет значения ARGB в качестве свойств. Вы можете переводить в / из цветов, используя преобразования из / в ARGB (см. docs ). Что-то вроде:
[Serializable]
public class ColorWrapper
{
private Color color;
public ColorWrapper (Color color)
{
this.color = color;
}
public ColorWrapper()
{
// default constructor for serialization
}
public int Argb
{
get
{
return color.ToARGB();
}
set
{
color = Color.FromARGB();
}
}
}
Наверное, тоже нужен аксессуар для цвета!
Преимущество этого заключается в том, что класс можно использовать во всех местах, где вам нужно сериализовать цвета. Если вы хотите сделать XML читаемым (а не произвольным целым числом ARGB), вы можете использовать HTML-методы to / from, как описано в balabaster.