Anhand eines einfachen Beispiels, möchte ich zeigen wie man die Fenstergröße der Applikation speichert, so dass der Benutzer jenes Fenster wieder so öffnet wie er es geschlossen hat.

Dazu öffnen wir im Projekt unter Properties die Settings.settings

settings

und tragen hier folgende Werte ein:

Name: WindowHeight
Typ: double
Bereich: Benutzer
Wert: eine Defaultwert für die Höhe (z.B. 300)

Äquivalent mit WindowWidth

settings2

Im XAML erweitern wir das WindowElement um einen Namen z.B. Name=”MeineApplikationWindow” (2) und setzen den xmlNamespace nach Assembly.Properties
(xmlns:Properties=“clr-namespace:sxQuickMailer.Properties“) (1)

Nun binden wir noch die Höhen- und Breitenangaben an den Einstellungen: (3)

1
2
Height="{Binding Source={x:Static Properties:Settings.Default}, Path=WindowHeight}"
Width="{Binding Source={x:Static Properties:Settings.Default}, Path=WindowWidth}"

Okay die Defaultwerte haben wir nun. Nun muss noch auf die Interaktion des Users reagiert werden. Das machen wir in dem wir eine Methode an das Event SizeChanged hängen. (4)

SizeChanged=“Window_SizeChanged“

settings3

die Methode setzt nun nur noch die Werte und speichert das ganze ab.

1
2
3
4
5
6
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
    userSettings.WindowHeight = sxQuickMailerWindow.Height;
    userSettings.WindowWidth = sxQuickMailerWindow.Width;
    userSettings.Save();
}

Kompilieren, Testen…. voila, das war’s schon : )

Viel Spaß beim entwickeln.

Usereinstellungen speichern / Quicky XAML -WPF
Markiert in: