Problem mit DesignerSerialisierung eines UserControls

22/07/2009 - 22:14 von Anja Länge | Report spam
Hallo,

ich habe ein UserControl geschrieben, bei dem eine Eigenschaft durch eine
eigene Klasse abgebildet wird. Zur Designzeit kann für diese Eigenschaft ein
Wert aus einer Liste (BindingList) von 5 bereits "mitgelieferten" Objekten
ausgewàhlt werden oder, über Designerverben, neue Objekte
hinzugefügt/bearbeitet/ausgewàhlt werden. So weit so gut.

Mein Problem:
Setze ich für die Liste der Objekte das Attribut
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)],
werden neu erstellte Objekte nicht serialisiert. Die Anwendung, die das
UserControl verwendet, kennt dann zur Laufzeit die zur Designzeit neu
erstellten Objekte nicht.

Setze ich das Attribut auf
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)],
dann werden die neuen Objekte zwar serialisiert, aber ich habe das Problem,
daß die 5 "mitgelieferten" Objekte bei jeder Neuerstellung des Designers
erneut hinzugefügt werden. D.h. im Quellcode des Designers stehen erst 5
Zeilen mit Add(...), beim nàchsten Neuerstellen 10 usw.
Wie kann ich dieses Verhalten àndern?

Grüße
Anja
 

Lesen sie die antworten

#1 Frank Dzaebel
23/07/2009 - 07:20 | Warnen spam
Hallo Anja,

[...] Mein Problem: [...]
Setze ich das Attribut auf
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)],
dann werden die neuen Objekte zwar serialisiert, aber ich habe das
Problem, daß die 5 "mitgelieferten" Objekte bei jeder Neuerstellung
des Designers erneut hinzugefügt werden.



"DesignerSerializationVisibility.Content" ist richig:

[Exemplarische Vorgehensweise: Serialisieren der Auflistungen von
Standardtypen mit dem DesignerSerializationVisibilityAttribute]
http://msdn.microsoft.com/de-de/lib...71731.aspx

[Gewusst wie: Serialisieren von Auflistungen der Standardtypen mit dem
DesignerSerializationVisibilityAttribute]
http://msdn.microsoft.com/de-de/lib...71833.aspx

Der Fehler liegt also höchstwahrscheinlich im BindingList-Handling.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen