Как изменить цвет в словаре ресурсов, который используется в другом словаре ресурсов во время выполнения?Как изменить цвет ресурса SolidColorBrush во время выполнения?
Вот мои настройки:
Colours.xaml:
<SolidColorBrush x:Key="themeColour" Color="#16A8EC"/>
Styles.xaml:
<Style x:Key="titleBar" TargetType="Grid">
<Setter Property="Background" Value="{DynamicResource themeColour}"/>
</Style>
Window.xaml
.....
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="res/Styles.xaml"/>
<ResourceDictionary Source="res/Colours.xaml"/>
</ResourceDictionary.MergedDictionaries>
.....
<Grid Style="{DynamicResource titleBar}"></Grid>
код позади:
Application.Current.Resources["themeColour"] = new SolidColorBrush(newColour);
Когда код запускается цвет сетки не меняется. Я не думаю, что Application.Current.Resources ["themeColour"] ссылается на мой ресурс solidcolorbrush, как если бы, если я попытаюсь получить к нему доступ, прежде чем назначать ему новый цвет, я получаю исключение ссылки на нулевой объект.
Итак, как мне получить доступ к ресурсу «themeColour»?
Работал отлично, спасибо! Мне показалось немного странным, что я должен был объявлять ресурсы в каждом отдельном окне ... добавление их в app.xaml намного удобнее. – mbdavis