我有一个带有几个按钮的应用程序,我已经设置了背景以匹配手机的强调色。我注意到如果用户在我的应用程序在后台打开时更改了强调色,那么按钮将保留以前的颜色。必须关闭应用程序(按住按钮,滑动屏幕)并再次打开以更新按钮。我的应用程序是否有办法在每次显示主页时自动检查重音颜色?
答案 0 :(得分:1)
由于Accent只能在应用外更改,因此您可以在导航到主页时更改主页的颜色。
protected override void OnNavigatedTo(NavigationEventArgs e)
如果你没有使用MainPage.Foreground
,你可以通过绑定到你想要的所有按钮来利用它,并且只需要一行来在上面的相同功能中设置它。
// in MainPage.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.Foreground = App.Current.Resources["PhoneAccentBrush"] as Brush;
}
和
<!-- in MainPage.xaml -->
<Page
....
x:Name="Root">
<Grid>
<Button Foreground="{Binding Path=Foreground, ElementName=Root}"
Content="..."/>
</Grid>
</Page>