在C#中数据绑定自定义XML可序列化Color类
我有一个类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属性数据绑定到此类。
当我第一次添加数据绑定时,一切正常,但任何更改都没有正确传播。
例如,如果我将Control的BackColor绑定到SColor,BackColor将正确更新,等等。但是,如果我然后更改BackColor,则更改将不会传播到Foo对象的SColor。如果我更改了Foo对象的SColor,则控件的BackColor上将不会显示更改。
数据绑定到普通Color属性可以根据需要使用。只是没有SerializableColor。
我哪里错了?
没有找到相关结果
已邀请:
1 个回复
梆晨灸碾