Xamarin.forms 更改导航栏的颜色

Xamarin.forms 更改导航栏的颜色,xamarin.forms,Xamarin.forms,我正在开发一个xamarin表单应用程序。在我的应用程序中,导航栏的颜色是蓝色的。我想要一个特定页面的导航栏颜色为白色。 我是通过 ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.White; 现在我面临一个问题。带有白色导航条的页面将在一定时间后弹出到上一页。在弹出异步之后,带有蓝色导航条的上一页也将变成白色。如何避免这种情况 namespace sample { [XamlCom

我正在开发一个xamarin表单应用程序。在我的应用程序中,导航栏的颜色是蓝色的。我想要一个特定页面的导航栏颜色为白色。 我是通过

((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.White;  
现在我面临一个问题。带有白色导航条的页面将在一定时间后弹出到上一页。在弹出异步之后,带有蓝色导航条的上一页也将变成白色。如何避免这种情况

namespace sample
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class ApprovedAnimation : ContentPage
    {
        public ApprovedAnimation ()
        {

            InitializeComponent ();
            ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.White; 
            Device.StartTimer(TimeSpan.FromMilliseconds(3000), () =>
            {             
                Navigation.PopAsync();

                return false;
            });
        }
    }
}

您需要使用此方法设置页面本身的导航颜色

protected override void OnDisappearing()
{
    base. OnDisappearing();
    ((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.Blue; // this will set back the normal color
}

在此方法OnDisappearing()中将同一页面上的导航栏设置为蓝色。