У меня есть класс SerializableColor, позволяющий мне сериализовать цвета XML.
public class SerializableColor
{
// omitted constructors, etc. ...
[XmlIgnore]
public Color Color
{
get { return Color.FromArgb(this.Alpha, this.Red, this.Green, this.Blue); }
set
{
this.Alpha = value.A;
this.Red = value.R;
this.Green = value.G;
this.Blue = value.B;
}
}
public int Alpha { get; set; }
public int Red { get; set; }
public int Green { get; set; }
public int Blue { get; set; }
}
Теперь, например, рассмотрим класс Foo:
public class Foo
{
public SerializableColor SColor { get; set; }
}
Я хочу привязать данныенекоторые свойства WinForm Control для этого класса.Когда я впервые добавляю привязку данных, все работает нормально, но любые изменения распространяются некорректно.
Например, если я связываю BackColor элемента управления с SColor, BackColor будет корректно обновляться и т. Д.затем перейдите и измените BackColor, изменения не будут распространены на SColor объекта Foo.И если я изменю SColor объекта Foo, это изменение не будет видно на BackColor элемента управления.
Привязка данных к обычному свойству Color работает как нужно.Только не для SerializableColor.
Где я иду не так?