首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以App.xaml样式动态设置颜色值

以App.xaml样式动态设置颜色值
EN

Stack Overflow用户
提问于 2017-08-03 10:13:44
回答 1查看 3.1K关注 0票数 2

在我的Xamarin表单应用程序中,我有多种风格,包括颜色。

App.xaml:

代码语言:javascript
复制
<prism:PrismApplication.Resources>
<ResourceDictionary>
<Color x:Key="primary_colour">#000a3d</Color>
...

我在其他.xaml页面上使用的方法:

代码语言:javascript
复制
<ContentPage Title="Menu" BackgroundColor="{StaticResource primary_colour}">

我的问题是,如何动态地更改App.xaml中的颜色值(#000a3d) (根据客户端登录将有所不同)?我可以从App.xaml.cs文件绑定这个值吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-03 11:24:10

使用DynamicResource,来自Xamarin文献,它说:

DynamicResource标记扩展与StaticResource标记扩展类似,因为它们都使用字典键从ResourceDictionary获取值。但是,在StaticResource执行单个字典查找时,DynamicResource维护到字典键的链接。因此,如果替换了与键关联的字典条目,则更改将应用于可视元素。这使运行时样式更改能够在应用程序中进行。

因此,您的页面将是:

代码语言:javascript
复制
<ContentPage Title="Menu" BackgroundColor="{DynamicResource primary_colour}">

你要改变颜色的代码是:

代码语言:javascript
复制
Application.Current.Resources["primary_colour"] = Color.Green;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45481264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档