Erro de compilação do WPF “O IDictionary deve ter um atributo Key”

Criei estilos de controle que quero usar entre várias páginas xaml no meu aplicativo WPF. Para fazer isso, criei um Resources.xaml e adicionei os estilos lá.

Então, nas minhas páginas, adiciono este código

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

Em duas páginas, isso funciona bem, mas na terceira página, recebo um erro de compilação que diz:

Todos os objetos adicionados a um IDictionary devem ter um atributo Key ou algum outro tipo de chave associado a eles.

Se eu adicionar uma chave a isso, como ResourceDictionary x: Key = "x", o erro de compilação continuará, mas ao executar o aplicativo, erros ao encontrar o estilo.

Posso fazer com que o erro de compilação desapareça e que o aplicativo seja executado movendo apenas o xaml "ResourceDictionary" original (nenhuma chave especificada) da Grade de nível superior para uma Grade contida nessa página.

Mas eu não entendo o que está acontecendo aqui. Qualquer sugestão sobre qual é o problema, estou apenas faltando algo ou fazendo algo incorretamente. Existe uma maneira melhor de compartilhar estilos?

obrigado

questionAnswers(1)

yourAnswerToTheQuestion