0
我在App.xaml中一個SolidColorBrush
資源這樣的:在資源字典改變的SolidColorBrush#顏色失敗:屬性爲只讀
<SolidColorBrush Color="#73AF00" x:Key="BaseGreen"></SolidColorBrush>
我的所有樣式(按鈕,網格背景和顏色,等等,等等)含有該資源,我希望當用戶更改顏色設置時,整個應用顏色將變爲藍色。
var color = System.Windows.Application.Current.Resources["BaseGreen"] as SolidColorBrush;
color.Color = Color.FromRgb(41, 128, 185);
I try what this answer suggest但是當我指定值,一個例外是拋出:
This property is set to read only and cannot be set
我也嘗試,但沒有happended:
var color = this.TryFindResource("BaseGreen") as SolidColorBrush;
color = new SolidColorBrush(Color.FromRgb(41, 128, 185));
有沒有辦法,我失去了一些東西?
這將是預期的行爲。你應該交換資源,而不是屬性。在同一個資源字典或其他資源中交換資源字典或其他資源。有很多關於動態主題的精彩文章,人們在這裏花了很多時間,這將更詳細地解釋。 –