在我的Xamarin表单应用程序中,我有多种风格,包括颜色。
App.xaml:
<prism:PrismApplication.Resources>
<ResourceDictionary>
<Color x:Key="primary_colour">#000a3d</Color>
...我在其他.xaml页面上使用的方法:
<ContentPage Title="Menu" BackgroundColor="{StaticResource primary_colour}">我的问题是,如何动态地更改App.xaml中的颜色值(#000a3d) (根据客户端登录将有所不同)?我可以从App.xaml.cs文件绑定这个值吗?
发布于 2017-08-03 11:24:10
使用DynamicResource,来自Xamarin文献,它说:
DynamicResource标记扩展与StaticResource标记扩展类似,因为它们都使用字典键从ResourceDictionary获取值。但是,在StaticResource执行单个字典查找时,DynamicResource维护到字典键的链接。因此,如果替换了与键关联的字典条目,则更改将应用于可视元素。这使运行时样式更改能够在应用程序中进行。
因此,您的页面将是:
<ContentPage Title="Menu" BackgroundColor="{DynamicResource primary_colour}">你要改变颜色的代码是:
Application.Current.Resources["primary_colour"] = Color.Green;https://stackoverflow.com/questions/45481264
复制相似问题