2
votes

Impossible de modifier les formulaires Xamarin de couleur d'arrière-plan de la barre de navigation

J'ai déjà essayé de modifier la couleur d'arrière-plan de la barre de navigation mais cela ne fonctionne pas.

<ResourceDictionary>
            <Style TargetType="NavigationPage">
                <Setter Property="BarBackgroundColor" Value="#6eb43a"/>
                <Setter Property="BackgroundColor" Value="#6eb43a"/>
            </Style>
        </ResourceDictionary>

BarBackgroundColor = Ne fonctionne pas BackgroundColor = Working

donc lorsque j'utilise BackgroundColor (le problème est que cela change également la couleur d'arrière-plan) alors cela affectera l'arrière-plan de navigation mais BarBackgroundColor ne fonctionne pas. Avez-vous une solution pour changer la couleur de BarBackground globalement afin qu'elle affecte l'ensemble du projet?


4 commentaires

Ajouter dans App.xaml sous ...


ce code est déjà dans App.xaml


Version de Xamarin.Forms?


J'utilise la dernière version


4 Réponses :


1
votes

Essayez de le changer à partir du code derrière:

MainPage = new NavigationPage(new MainPage())
            {
                BarBackgroundColor = Color.FromHex("#6eb43a"),
                BarTextColor = Color.Black,
            };


1 commentaires

J'ai déjà essayé cela mais BarBackgroundColor ne fonctionne pas, seul BackgroundColor fonctionne.



1
votes

Essayez après InitializeComponent();

((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.FromHex("#2196f3");

OR

((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.White;

Cela changera la couleur de la barre de navigation de toutes les pages.


0 commentaires

1
votes

Pour ceux qui utilisent la nouvelle disposition Xamarin.Forms.Shell, vous faites cela en définissant la couleur d'arrière-plan directement sur le nœud Shell

<Shell BackgroundColor="#FFFFFF">...

Cela descendra ensuite dans la hiérarchie, ce que vous pouvez remplacer les nœuds enfants selon vos besoins.


0 commentaires

0
votes

Vous avez déjà écrit votre style dans App.Xaml. Il ne vous reste plus qu'à appeler ce style dans votre fichier xaml ContentPage, afin qu'il soit défini pour toutes les pages.

 Style="{DynamicResource NavigationPage}"

Faites-moi savoir si cela vous aide.

p >


0 commentaires