2

我最近将 Jeff Wilcox 的 PhoneThemeManager 添加到我的应用程序中,效果很好,尽管我在将应用程序栏按钮更改为我希望使用的颜色时遇到了问题。我的应用程序设计规范需要使用 Light Theme。我遇到的问题是,当设备已经处于浅色主题时,在应用程序加载时,appbar 前景是正确的颜色,因为 PhoneThemeManager 不会覆盖任何值,尽管在深色主题中,appbar 前景值是黑色(模仿浅色主题中的默认前景设置)。

根据他的网站,“如果您的应用程序中有类似“var ab = new ApplicationBar”的代码,请注意该应用程序栏默认采用系统的实际主题颜色,而不是使用应用程序。

如果你需要新建一个ApplicationBar,你应该使用ThemeManager.CreateApplicationBar()我添加的app bar的便捷方法或扩展方法MatchOverriddenTheme,来设置颜色值。”

我不确定如何实现此功能以获取自定义 appbar 按钮颜色。

我做了以下

public App()
{
// Global handler for uncaught exceptions. 
UnhandledException += Application_UnhandledException;

// Standard Silverlight initialization
InitializeComponent();

// Phone-specific initialization
InitializePhoneApplication();

ThemeManager.ToLightTheme();

// Other code that might be here already...
}

在我的 MainPage 应用栏中,我希望相应地更改按钮

private void BuildLocalizedApplicationBar()
    {
        // Set the page's ApplicationBar to a new instance of ApplicationBar.
        ApplicationBar = new ApplicationBar();

        ApplicationBar.ForegroundColor = Color.FromArgb(255, 35, 85, 155);

        //Not sure where or how to use this?
        ApplicationBar.MatchOverriddenTheme(); //to override ThemeManager defaults

        //Create appbar buttons
        ...
    }

有任何想法吗?

4

0 回答 0