According to documentation, the Loaded event might be re-raised as a result of system theme changes (and maybe for other reasons):
To skip the initialisation of the fields, try a boolean member:
bool loaded = false;
void Page_Loaded( object sender, RoutedEventArgs e )
{
if( loaded ) return;
loaded = true;
// fill the fields...
}