Einstellen oder Ändern von ThemeResource im Code

Meine Fragen sind sehr spezifisch für ThemeResources in einer Windows 10 Store-App. Leider sind einige Dinge, die in "klassischem" WPF verfügbar sind, unterschiedlich oder hier nicht verfügbar.

Was ich versuche, für viele UI-Elemente zu erreichen:

rmöglichen Sie dem Benutzer, die Akzentfarbe des Systems zu verwenden (in XAML wäre dies{ThemeResource SystemAccentColor} als Wert.)Erlauben Sie dem Benutzer, stattdessen eine benutzerdefinierte / feste Farbe zu verwenden. (Ich könnte das @ überschreibSystemAccentColor Geben Sie das Ressourcenwörterbuch ein.Zur Laufzeit kann zwischen Systemakzent und benutzerdefinierter Farbe umgeschaltet werden (ich könnte mich an eine Farbe binden, anstatt eine Ressource zu verwenden)

Aber ich habe keine gute Lösung gefunden, um all dies zu erreichen. Wenn ich ein eigenes Ressourcenwörterbuch mit der benutzerdefinierten Farbe habe, werde ich es nicht entfernen, wenn der Benutzer wieder zur Akzentfarbe des Systems wechseln möchte. Und die Verwendung einer Eigenschaft, gegen die ich mich binde, hat den Nachteil, dass ich nicht merke, ob der Benutzer die Akzentfarbe in den Systemeinstellungen ändert, während die App ausgeführt wird - mithilfe des{ThemeResource} Markup tut es.

Irgendwelche Ideen, wie man das richtig macht? Wenn es möglich wäre, das @ zu setzThemeResource from code Ich konnte ein Verhalten dafür schreiben, aber es scheint nicht verfügbar zu sein.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage