0
我爲我的程序實現了一個主題系統,並且我在啓動時從文件中讀取了主題。從代碼隱藏設置App.xaml-resources的值
基本上在我的App.xaml我有我在App.xaml.cs.Main();
這裏啓動程序時設置的值在代碼隱藏特定按鍵一堆<Colors/>
是它看起來像:
public static void Main()
{
var application = new App();
application.InitializeComponent();
LoadTheme();
application.Run();
}
而且LoadTheme功能如下:
public static void LoadTheme()
{
UItheme theme = UItheme.FromFile(themePath);
Color AccentColor = (Color)App.Current.FindResource("AccentColor");
Color PrimaryColor = (Color)App.Current.FindResource("PrimaryColor");
Color PrimaryLightColor = (Color)App.Current.FindResource("PrimaryLightColor");
Color PrimaryDarkColor = (Color)App.Current.FindResource("PrimaryDarkColor");
Color PrimaryTextColor = (Color)App.Current.FindResource("PrimaryTextColor");
Color SecondaryTextColor = (Color)App.Current.FindResource("SecondaryTextColor");
Color IconColor = (Color)App.Current.FindResource("IconColor");
Color BorderColor = (Color)App.Current.FindResource("BorderColor");
AccentColor = theme.AccentColor;
PrimaryColor = theme.PrimaryColor;
PrimaryLightColor = theme.PrimaryLightColor;
PrimaryDarkColor = theme.PrimaryDarkColor;
PrimaryTextColor = theme.PrimaryTextColor;
SecondaryTextColor = theme.SecondaryTextColor;
IconColor = theme.IconColor;
BorderColor = theme.BorderColor;
Console.WriteLine(((Color)App.Current.FindResource("AccentColor")).ToString());
}
也許不是最漂亮的功能,但我認爲它會得到第j完成了。
什麼似乎是我的問題是,當我設置這些(應該是對顏色資源的引用)時,資源本身的值似乎沒有改變。就像他們只是只讀一樣。
最後一行總是打印出以下(從App.xaml中):
<Color x:Key="AccentColor" A="255" R="123" G="123" G="123"/> // aka the values I declared the resource with in XAML.
即使我的主題有不同的顏色。
我必須在這裏做錯事,但我不知道是什麼。 任何幫助將是偉大的。
哇。我沒有看到Color是一個結構體。好的,謝謝。 – Tokfrans