Jak zmienić kolor zasobu SolidColorBrush w czasie wykonywania?

Jak mogę zmienić kolor słownika zasobów używanego w innym słowniku zasobów w czasie wykonywania?

Oto moja konfiguracja:

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>

Kod za:

Application.Current.Resources["themeColour"] = new SolidColorBrush(newColour);

Gdy kod działa, kolor siatki nie zmienia się. Nie sądzę, aby Application.Current.Resources ["themeColour"] odnosiło się do mojego zasobu solidcolorbrush tak, jak gdy próbuję uzyskać do niego dostęp przed nadaniem mu nowego koloru, otrzymuję wyjątek odwołania do obiektu zerowego.

Jak więc uzyskać dostęp do zasobu „themeColour”?

questionAnswers(2)

yourAnswerToTheQuestion