コードの重複を減らそうとしています。次の点を考慮してください。
<page...>
<page.resources>
<MenuItem x:Key="commonItem" />
</page.resources>
<TextBlock>
<TextBlock.ContextMenu>
<ContextMenu>
<ContextMenu.Resources>
<local:thingOne x:Key="one"/>
<local:thingTwo x:Key="two"/>
</ContextMenu.Resources>
<StaticResourceExtension PropertyKey="commonItem"/>
<StaticResourceExtension PropertyKey="commonItem"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</page>
最初の commonItem インスタンスに「1」を渡し、2 番目に「2」を渡すにはどうすればよいですか?
上記の例を考えると、これを行うためのより良い方法があると思います。これは、XAML で実際に行われていることを大幅に縮小したバージョンです。
より一般的な問題は、アプリ全体に異なるコンテキスト メニューがあり、いくつかの類似したメニュー項目を共有している場合、適切な DRY 原則に従うにはどうすればよいかということです。