ToggleSwitch State ToggleSwitch State
Ergebnis 1 bis 4 von 4
  1. Guten Abend

    In meiner WP8.1 StoreApp, habe ich diverse ToggleSwitches für Einstellungen eingebaut. Nun nutze ich einige davon direkt zum ausführen von Funktionen mit dem Toggled Event. Ob der ToggleSwitch On oder Off ist, schreibe ich als boolean in den AppDataStore. Nun ist meine Frage, wie ich den Status eines ToggleSwitch, beim aufrufen der Einstellungsseite, setzen kann? Aktuell lese ich den boolean aus dem AppDataStore aus und setze anhand dessen den Status des ToggleSwitch mit IsOn. Das funktioniert soweit, bis eben auf solche ToggleSwitches, welche direkt ein Event auslösen. Denn durch das laden des Status mit IsOn, wird dir eigentlich nur wieder eingeschalten, damit er als On dargestellt wird. Dies hat zur Folge, dass die im Event Handler hinterlegte Funktion des ToggleSwitches jedesmal beim laden der Einstellungsseite ausgeführt word, was ich aber nicht möchte. Hat da jemand eine Lösung oder einen anderen Ansatz für mich parat?

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  2. Falls es jemanden intressiert, ich habe das nun etwas anders gelöst. Der ToggleSwitch schreibt weiterhin einen boolean in den AppDataStore, jedoch habe ich keine aktive Funktion mehr Event Handler hinterlegt. Auf meiner Einstellungsseite befindet sich ein "speichern" Button, welcher dann erst die Funktion aufruft, wenn der im AppDataStore hinterlegte boolean auf true steht. Somit wäre das für mich erledigt.

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  3. 24.11.2014, 08:30
    #3
    Die Alternative wäre alle Einstellungen in ein Settings-Objekt zu packen dass INotifyPropertyChanged implementiert. Du würdest dann alle UI-Controls per DataBinding mit den Properties deines Settings-Objekts verbinden. Das Settings-Objekt wird dann entsprechend in den AppSettings gespeichert. Deine Events verbinden sich dann mit dem Settings-Objekt - nicht direkt mit den Controls.

    Damit wird also quasi erst das Objekt geladen und das Binding an die Controls löst keine Änderungen mehr aus. Wenn aber der User über das Binding Werte verändert feuert das Event und du kannst reagieren/speichern.
    1
     

  4. 01.12.2014, 08:25
    #4
    Moin

    ich komme von der Windows Forms Entwicklungsseite und entwickle nicht für Windows Store mit XAML oder so. Aber das Problem, dass man CheckBox / Toggle Schalter setzen will, die einen EventHandler auf CheckedChanged angehängt haben, kenne ich von Win-Forms Anwendungen auch.

    Ich mach das dann so, dass ich vor dem Setzen des Wertes den EventHandler abhänge, dann den Wert setze und den EventHandler hinterher wieder zufüge, also ungefähr so (Achtung nicht syntaktisch korrekt, nur ein Beispiel):

    // EventHandler Methode "btnShowNavigation_ToggleChanged" vom Event abhängen
    toggleButtonShowNavigation.ToggleStateChanged -= btnShowNavigation_ToggleChanged;
    // Wert setzen
    toggleButtonShowNavigation.ToggleState = true;
    // EventHandler Methode "btnShowNavigation_ToggleChanged" wieder am Event registrieren
    toggleButtonShowNavigation.ToggleStateChanged += btnShowNavigation_ToggleChanged;

    So verhinderst du, dass der EventHandler zum Zeitpunkt des Setzens des Wertes ausgelöst wird.

    Wie gesagt, ich weiß nicht, ob das bei Windows Store oder Phone Apps auch geht.
    1
     

Ähnliche Themen

  1. States verändern, wenn zurücktaste gedrückt wird
    Von AEG im Forum Windows Phone 7 Entwicklung
    Antworten: 3
    Letzter Beitrag: 20.11.2011, 19:53

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

toggleswitch