Updated answer with what I finally decided on.
I used a settings class that holds all of the apps settings including what theme to use. Since the theme can only be set when it starts we need to make sure to set it them. This is the code I used:
In the App.xaml.cs file:
public App()
{
//Load settings
AppSettings.LoadSettings();
this.RequestedTheme = AppSettings.SelectedTheme;
this.InitializeComponent();
}
In the App.xaml file make sure to remove this property:
RequestedTheme="Light"
If its not removed it always default to light with no way to change it.
This way the user can choose the theme, it gets stored and used when the app starts. Just make sure to load it and apply it in the app initialization phase.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…