Wie kann ich untergeordnete Elemente über einen Stil in XAML wiederverwenden?

Ich habe ein WPF-Untermenü, das ich an einigen Stellen in meiner XAML wiederverwenden möchte. Es ist eine Sammlung von acht<MenuItem> Elemente mit einigen komplizierten Bindungen, die ich nicht kopieren / einfügen möchte. Der Inhaber ist jedoch in jedem Fall unterschiedlich: An einem Ort ist der Elternteil ein<Menu>an einem anderen Ort ist der Elternteil a<MenuItem> in einem<ContextMenu>.

Ich habe mit experimentiert<Setter Property="Items"> in meinem<Style> aber ich denke, vielleicht bin ich auf dem falschen Weg.

Um es konkret zu machen, versuche ich, die Codeduplizierung von so etwas wie dem Folgenden zu reduzieren:

<Menu>
    <MenuItem Header="Details"    IsCheckable="True" ... />
    <MenuItem Header="List"       IsCheckable="True" ... />
    <MenuItem Header="Thumbnails" IsCheckable="True" ... />
    ...
</Menu>
...
<ContextMenu>
    <MenuItem Header="View">
        <MenuItem Header="Details"    IsCheckable="True" ... />
        <MenuItem Header="List"       IsCheckable="True" ... />
        <MenuItem Header="Thumbnails" IsCheckable="True" ... />
        ...
    </MenuItem>
</ContextMenu>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage