更改强调颜色时自动更新W8.1P App中的按钮

时间:2015-05-20 09:19:19

标签: c# windows-phone

我有一个带有几个按钮的应用程序,我已经设置了背景以匹配手机的强调色。我注意到如果用户在我的应用程序在后台打开时更改了强调色,那么按钮将保留以前的颜色。必须关闭应用程序(按住按钮,滑动屏幕)并再次打开以更新按钮。我的应用程序是否有办法在每次显示主页时自动检查重音颜色?

1 个答案:

答案 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>