WPF-Kompilierungsfehler "IDictionary muss ein Schlüsselattribut haben"

Ich habe Steuerelementstile erstellt, die ich in meiner WPF-App für mehrere XAML-Seiten verwenden möchte. Zu diesem Zweck habe ich eine Resources.xaml erstellt und die Stile dort hinzugefügt.

Dann füge ich auf meinen Seiten diesen Code hinzu

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

uf zwei Seiten funktioniert dies einwandfrei, aber auf der dritten Seite wird ein Kompilierungsfehler angezeigt, der besagt:

Alle zu einem IDictionary hinzugefügten Objekte müssen über ein Schlüsselattribut oder eine andere Art von Schlüssel verfügen.

Wenn ich diesem einen Schlüssel hinzufüge, wie z. B. ResourceDictionary x: Key = "x", tritt der Kompilierungsfehler auf, aber beim Ausführen der App wird der Stil nicht gefunden.

Ich kann den Kompilierungsfehler beheben und die App ausführen, indem ich einfach die ursprüngliche (ohne Schlüsselangabe) "ResourceDictionary" -XAML-Datei aus dem Grid der obersten Ebene in ein enthaltenes Grid auf dieser Seite verschiebe.

Aber ich verstehe nicht, was hier los ist. Irgendwelche Vorschläge, was das Problem ist, ich habe nur etwas verpasst oder etwas falsch gemacht. Gibt es eine bessere Möglichkeit, Stile zu teilen?

Vielen Dan

Antworten auf die Frage(2)

Ihre Antwort auf die Frage