¿Cómo actualizar un recurso dinámico dentro de un recurso dinámico?

Tengo un pincel visual que es un grupo de formas, cuyo color principal es un recurso dinámico en sí mismo, por lo que la forma es, por ejemplo, MyShape y el Color, MyColour, al que hace referencia el objeto Shape.
Mi problema es cuando actualizo el color para esto: solo ocurre la primera vez que se carga la forma (el color debe configurarse primero), sin embargo, aunque cambie el color, no actualizará el recurso dinámico que usa color: ¿cómo hago que esto funcione?
Solo necesito hacer que un recurso dinámico funcione dentro de otro recurso dinámico y que ambos se actualicen cuando cambie el color.
No tengo idea de cómo hacer que esto funcione: pasé tiempo creando un selector de color para WPF solo para descubrir que no puedo cambiar el color de este elemento: los recursos de 1 nivel funcionan donde configuro el pincel / color directamente pero no un color dentro de otro objeto o recurso de 2 niveles.

Edit: mi problema parece ser específico al uso de estos en un recurso / diccionario separado, ya que mi programa necesita acceder a este elemento desde una clase, no desde la ventana, el ejemplo principal mencionado no funciona cuando MyColor está en un recurso separado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta