У меня есть SolidColorBrush
ресурс в App.xaml так:Изменение SolidColorBrush # Цвет в словаре ресурсов не удалось: Свойство только для чтения,
<SolidColorBrush Color="#73AF00" x:Key="BaseGreen"></SolidColorBrush>
Все мои стили (кнопки, сетки Backgroun цвет, и т.д., и т.д.) содержит этот ресурс, и я хочу, чтобы, когда пользователь менял настройки цвета, весь цвет приложения изменился на синий.
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));
Есть ли что-то, что мне не хватает?
Этого следовало бы ожидать. Вы должны обменивать ресурсы, а не свойства. Быть, что обменные ресурсные словари или другие ресурсы в одном и том же. Есть много замечательных статей по динамическим темам, в которых люди потратили много времени, и это будет объясняться более подробно. –