2009-08-06 11 views
1

Kennt jemand eine gute Möglichkeit, ein Objekt System.Windows.Shape (inkl. Polygon, Kreis, Dreieck usw.) zu serialisieren, damit es in einer Datenbank gespeichert werden kann?Serialisieren von Shape-Objekten in WPF

Ich habe versucht, es mit BinaryFormatter serialisieren, aber es wirft eine Ausnahme, die besagt, dass es nicht als serialisierbar markiert ist.

Vielen Dank im Voraus für jede Hilfe.

Cheers,

Nilu

Antwort

1

Sie können XamlWriter verwenden Formen XAML serialisiert werden und dass

0

Soweit ich das Problem mit Serialisierung mit dieser Art von Objekt kommen wissen, weil die Matrix-Klasse nicht serialisierbar ist, aber Sie können Sie Klassen können sagen, für Polygon es besitzen erstellen wird alle Eigenschaften für polygon ponts [], color usw. haben. Aber stattdessen für matri addieren Sie Array von int ein Die Matrix hat Methode, Array von int zu erhalten und Matrix von Array zu erstellen. Auf diese Weise wird Ihre Klasse seriazlizable sein Beste Grüße, Iordan

+0

Jubel in der Datenbank speichern :) Ich werde diese Methode versuchen – Nilu

+0

Sie versuchen, irgendeine Art von wraper Klasse in der Tat machen können Sie standart-Klasse verwenden, aber wenn zu machen speichern Erstellen Sie Ihre Klasse erhalten Sie alle Informationen aus Standart-Klasse und serialisieren. Wenn die Ladung macht die Opossite und es kann den Trick – IordanTanev

1

Anstatt eine Reihe von Wrappern zu schreiben, können Sie Serialisierungssurrogate einfach den nicht serialisierbaren Typen zuordnen. Die Formatierer-Infrastruktur verwendet diese Surrogate, um die fraglichen Typen zu serialisieren und zu deserialisieren. Siehe IFormatter.SurrogateSelector.

+0

irgendein Tutorial usw. für diese .. über meine aktuelle Silverlight Skillset. –