从 DynamicResource 更改 NavigationPage Backbutton 颜色

Change NavigationPage Backbutton color from DynamicResource

找到这个来改变后退按钮的颜色。

NavigationPage.SetIconColor(this, Color.FromHex("#FFFF00"));

我更改的页面背景颜色DynamicResource

Invul.xaml.cs

  App.Current.Resources["defaultBackgroundColor"] = Preferences.Get("BackgroundColor", "#1D252D");

对于后退按钮的背景色,我尝试了这个但没有用,因为 Color.FromHex 我想,我可以将 FromHex 部分更改为吗?

  NavigationPage.SetIconColor(this, Color.FromHex("{DynamicResource defaultBackgroundColor}"));

如果你想使用来自 ResourceDictionary 的颜色,你可以先访问它并将结果颜色传递给方法 NavigationPage.SetIconColor.

的第二个参数

请参考以下代码:

        Color color = (Color)Application.Current.Resources["defaultBackgroundColor"];
        NavigationPage.SetIconColor(this, color);

defaultBackgroundColorApplication.Resources中的一种颜色:

   <Application.Resources>
    <ResourceDictionary>
        <!-- Colors -->
        <Color x:Key="defaultBackgroundColor">Red</Color>
        <Color x:Key="Yellow">#ffd966</Color>
    </ResourceDictionary>
</Application.Resources>