invidicult Geschrieben 8. Oktober 2012 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 ?
SeToY Geschrieben 8. Oktober 2012 Geschrieben 8. Oktober 2012 Warum nimmst du nicht die bereits eingebauten "Settings.Default.*"?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden