簡體   English   中英

在 App.xaml 樣式中動態設置顏色值

[英]Set color value dynamically in App.xaml style

在我的 Xamarin Forms 應用程序中,我有多種樣式,包括顏色。

應用程序.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 文件綁定該值嗎?

使用DynamicResource ,來自Xamarin 文檔,它說:

DynamicResource 標記擴展類似於 StaticResource 標記擴展,兩者都使用字典鍵從 ResourceDictionary 獲取值。 然而,當 StaticResource 執行單個字典查找時,DynamicResource 維護到字典鍵的鏈接。 因此,如果與鍵關聯的字典條目被替換,則更改將應用​​於視覺元素。 這允許在應用程序中進行運行時樣式更改。

因此,您的頁面將是:

<ContentPage Title="Menu" BackgroundColor="{DynamicResource primary_colour}">

並且您更改顏色的代碼將是:

Application.Current.Resources["primary_colour"] = Color.Green;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM