Windows Phone 8 Changement de l'Accent et de Thème Couleur
Je suis entrain de créer une Application pour Windows Phone 8, et je voudrais changer le thème de couleur quel que soit le thème défini par l'utilisateur dans le téléphone de l'OS, de la même manière que d'autres applications le font (par exemple Skype).
Pour l'instant j'ai seulement réussi à changer la couleur de fond, en accédant à la LayoutRoot élément XAML:
this.LayoutRoot.Background = new SolidColorBrush(Colors.White);
Et la Couleur d'avant-plan:
(App.Current.Resources["PhoneForegroundBrush"] as SolidColorBrush).Color = Colors.Green;
Toutefois, le code suivant ne fonctionne pas sur Windows Phone 8:
(App.Current.Resources["PhoneBackgroundBrush"] as SolidColorBrush).Color = Colors.White;
(App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color = Colors.Yellow;
Je ne sais pas pourquoi je ne peux pas changer le PhoneBackgroundBrush
ou la PhoneAccentBrush
et j'ai essayé de googler solutions mais ils ne fonctionnent qu'avec windows phone 7 SDK.Le Tutoriel ici fonctionne sur WP 7, mais pas WP 8.
Merci!
OriginalL'auteur Seb123 | 2013-01-26
Vous devez vous connecter pour publier un commentaire.
Fabrice est définitivement sur la bonne voie. L'obtention de la valeur par défaut PhoneAccentBrush et de changer sa couleur est le chemin à parcourir.
Ajouter ce code à la fin de votre Application constructeur et il l'emporterait sur WP8 Accent de couleur pour votre application:
Lors de l'exécution de ce code et cliquez sur un
<Button />
vous pouvez voir la nouvelle couleur d'Accentuation:using System.Windows.Media;
en haut de laApp.xaml.cs
fichier, et d'ajouter votre code de laApp()
aprèsInitializeLanguage();
, toutefois sans effet. J'ai aussi la mettre au début du constructeur, mais pas de différence.Cela semble fonctionner pour certains éléments (tels que des Boutons et des styles de texte), mais pas d'autres. ApplicationBar, MessageBox et la Case à cocher ne pas prendre ce changement de couleur. Peut-être il ya un autre style que les besoins overwritting, ou certains de ces éléments risquent de ne pas être à styliser, de la même manière.
ApplicationBar, la barre des tâches, MessageBox et quelques autres, sont l'INTERFACE utilisateur du shell qui n'a rien à voir avec XAML styles. Ainsi ils ne seront pas touchés par ce changement. Certains de ces exposer des Api spécifiques à la configuration de son INTERFACE utilisateur, tandis que d'autres ne le font pas.
OriginalL'auteur JustinAngel
Si vous voulez pinceaux différents, puis de créer de nouveaux pinceaux. Pas besoin de passer par la peine de remplacer ceux existants. Un jour, vous souhaiterez peut-être utiliser ceux construits dans les brosses.
Je dirais juste l'ajout de nouvelles ressources de votre application et de référence.
Dans vos pages, référence comme tels
The attachable property 'Resources' was not found in type 'Application'
Dans l'Application.fichier xaml
OriginalL'auteur Shawn Kendrot
J'ai vu un post de blog il y a quelques jours:
http://www.rudyhuyn.com/blog/2013/01/18/forcer-un-theme-sous-windows-phone-8/
C'est en français, mais n'ayez pas peur.
Il est un exemple pour changer la couleur de Windows Phone 8 (vérifier la méthode DarkTheme())
DarkTheme();
aprèsInitializePhoneApplication();
dansApp.xaml.cs
.Essayé les deux méthodes? Le second est appelé DarkTheme mais ce n'est pas les mêmes couleurs.
J'ai eu le Huyn méthode pas à changer le fond, mais dont le seul fichier à partir de ThemeManager a parfaitement fonctionné.
OriginalL'auteur Fabrice