Error de compilación de WPF "IDictionary debe tener un atributo clave"

He creado estilos de control que quiero usar entre varias páginas xaml en mi aplicación WPF. Para hacer esto, creé un Resources.xaml y agregué los estilos allí.

Luego en mis páginas agrego este código

<Grid.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/SampleEventTask;component/Resources.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Grid.Resources>

En dos páginas esto funciona bien, pero en la tercera página aparece un error de compilación que dice:

Todos los objetos agregados a un IDictionary deben tener un atributo Key o algún otro tipo de clave asociado a ellos.

Si agrego una clave a esto, como tal ResourceDictionary x: Key = "x", el error de compilación continúa, pero al ejecutar la aplicación, se produce un error al encontrar el estilo.

Puedo hacer que el error de compilación desaparezca y hacer que la aplicación se ejecute simplemente moviendo xaml "ResourceDictionary" original (sin clave especificada) desde la cuadrícula de nivel superior a una cuadrícula contenida en esa página.

Pero no entiendo lo que está pasando aquí. Cualquier sugerencia sobre cuál es el problema, solo me falta algo o estoy haciendo algo incorrectamente. ¿Hay una mejor manera de compartir estilos?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta