¿Cómo cambiar el color de un recurso SolidColorBrush en tiempo de ejecución?

¿Cómo puedo cambiar un color en un diccionario de recursos que se usa en otro diccionario de recursos en tiempo de ejecución?

Aquí está mi configuración:

Colores.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>

Código detrás:

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

Cuando el código se ejecuta, el color de la cuadrícula no cambia. No creo que Application.Current.Resources ["themeColour"] se esté refiriendo a mi recurso de solidcolorbrush, ya que cuando intento acceder a él antes de asignarle un nuevo color, obtengo una excepción de referencia de objeto nula.

Entonces, ¿cómo debo acceder al recurso "themeColour"?

Respuestas a la pregunta(2)

Su respuesta a la pregunta