Mit Klasse namens PanelGroup und es hat die Eigenschaft ElementControl, dessen Typ namens Kontrolle. Wie ich weiß Control ist nicht serialisierbar, was ist dann empfohlen, diese Klasse serialisieren zu lassen? Vielen Dank.C# -Klasse Serialisierung mit Eigenschaft basierend auf Steuer
public class PanelGroup
{
public PanelGroup(FormElementGroupBase parentElement) : base(parentElement)
{
Intialize();
}
public PanelGroup(FormElementGroupBase parentElement, int id, string name, bool isVertical) : base(parentElement, id, name)
{
Intialize();
IsVertical = isVertical;
}
private void Intialize()
{
this.ItemType = DomainItemTypes.PANEL_GROUP;
this.ElementControl = new PanelControl();
this.ElementControl.MinimumSize = new Size(50, 50);
(this.ElementControl as PanelControl).AutoSize = true;
(this.ElementControl as PanelControl).AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
if (ParentElement != null)
{
ParentElement.ElementControl.Controls.Add(this.ElementControl);
};
this.ElementControl.AllowDrop = true;
this.ElementControl.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Control_OnMouseUp);
this.ElementControl.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Control_OnMouseDown);
this.ElementControl.KeyDown += new KeyEventHandler(this.Control_OnKeyDown);
this.ElementControl.DragDrop += new DragEventHandler(OnDragDrop);
this.ElementControl.DragOver += new DragEventHandler(OnDragOver);
}
[Browsable(false)]
public override string NamePrefix
{
get { return "PanelGroup"; }
}
internal sealed override void Highlight()
{
(this.ElementControl as PanelControl).Appearance.BorderColor = SelectionColor;
}
}
Was ist Ihr erwartetes Ergebnis? Wenn Sie ein PanelGroup-Objekt serialisieren und deserialisieren, erwarten Sie, dass ElementControl null ist? Oder erwarten Sie, dass es mit allen relevanten Eigenschaften ausgefüllt wird, die dem Wert vor der Serialisierung entsprechen? –