invidicult Geschrieben 8. Oktober 2012 Teilen Geschrieben 8. Oktober 2012 Hallo liebe Community, ich habe ein kleiner Problem mit der Serialisierung von Feldern in VB.NET / WPF. Ich habe mir eine Klasse geschrieben die jedes mal, wenn die eigenschaften eines Programms gespeichert werden (per Button) oder wenn etwas in eine Textbox eingetragen wird, speichern soll. Hier mal die Klasse: Public Class SASerializerXml Public Shared Sub Serialize(Of T)(ByVal path As String, ByVal instance As T) Try Dim swWriter As New StreamWriter(path) Dim xsSerializer As New XmlSerializer(instance.GetType) xsSerializer.Serialize(swWriter, instance) swWriter.Close() Catch ex As Exception 'MessageBox.Show(ex.Message, Application.ProductName, _ ' MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Public Shared Function DeSerialize(Of T)(ByVal path As String, ByVal defaultInstance As T) As T Try If Not File.Exists(path) Then Return defaultInstance End If Dim srReader As New StreamReader(path) Dim xsSerializer As New XmlSerializer(defaultInstance.GetType) DeSerialize = CType(xsSerializer.Deserialize(srReader), T) srReader.Close() Catch ex As Exception 'MessageBox.Show(ex.Message, Application.ProductName, _ ' MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Function Public Shared Function DeSerialize(Of T As New)(ByVal path As String) As T Return DeSerialize(Of T)(path, New T) End Function End Class Hier noch ein Textfeld mit Binding: <Label Content="Eingangsverzeichnis:" Grid.ColumnSpan="3" Height="28" HorizontalAlignment="Left" Margin="10,10,0,0" Name="Label8" VerticalAlignment="Top" Width="130" /> <TextBox Grid.Column="2" Height="23" HorizontalAlignment="Left" Margin="104,15,0,0" Name="tbDPDEin" Text="{Binding Source={x:Static me:MySettings.Default}, Path=DPDEin, Mode=TwoWay}" VerticalAlignment="Top" Width="120" /> Jetzt ergibt sich allerdings folgendes Problem: Wenn ich so etwas in die Felder reinschreibe & abspeichere funktioniert das super...wenn ich allerdings etwas auswähle (Bsp. über FileDialog o.ä.) wird in das Feld ja automatisch etwas eingefügt und dass speichert er dann nicht mit ab. Hat jemand eine Idee was ich da falsch mache ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SeToY Geschrieben 8. Oktober 2012 Teilen Geschrieben 8. Oktober 2012 Warum nimmst du nicht die bereits eingebauten "Settings.Default.*"? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.