我正在使用Xamarin.Forms跨平台应用程序,并且在UWP端,我在MainPage.xaml.cs中添加了此代码,以更改应用程序标题栏以匹配我正在使用的导航栏:>
var titleBar = ApplicationView.GetForCurrentView().TitleBar;
titleBar.BackgroundColor = Colors.LightSlateGray;
titleBar.ForegroundColor = Colors.White;
titleBar.InactiveBackgroundColor = Colors.LightSlateGray;
titleBar.InactiveForegroundColor = Colors.White;
titleBar.ButtonBackgroundColor = Colors.LightSlateGray;
titleBar.ButtonForegroundColor = Colors.White;
titleBar.ButtonInactiveBackgroundColor = Colors.LightSlateGray;
titleBar.ButtonInactiveForegroundColor = Colors.White;
但是,当应用程序处于活动状态时,前景色为黑色:
该应用程序处于非活动状态时,实际上看起来是正确的:
我实际上已经注意到,在切换为黑色之前,文本会在短短的一秒钟内显示为白色。我应该稍后再运行此代码还是在其他地方?我在LoadApplication之前和之后都尝试过。我是否缺少某些东西,还是有更好的方法在Xamarin中处理?
答案 0 :(得分:1)
因此,将前景色(启用时)设置为完全白色似乎是一个错误。也许Xamarin所做的事情将其取消了。我发现选择接近白色的颜色很好用,例如:
var titleBar = ApplicationView.GetForCurrentView().TitleBar;
titleBar.BackgroundColor = Colors.LightSlateGray;
titleBar.ForegroundColor = Colors.Snow;
titleBar.InactiveBackgroundColor = Colors.LightSlateGray;
titleBar.InactiveForegroundColor = Colors.White;
titleBar.ButtonBackgroundColor = Colors.LightSlateGray;
titleBar.ButtonForegroundColor = Colors.Snow;
titleBar.ButtonInactiveBackgroundColor = Colors.LightSlateGray;
titleBar.ButtonInactiveForegroundColor = Colors.White;
答案 1 :(得分:0)
在调用Window.Activate之后,尝试将其放入 UWP 应用的OnLaunched方法(App.xaml.cs)。