我正在尝试减少代码重复。考虑以下:
<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 实例,将“两个”传递给第二个?
我意识到给定上面的例子会有更好的方法来做到这一点,这是我们 XAML 中实际发生的事情的一个非常精简的版本。
更普遍的问题是,当我在整个应用程序中都有不同的上下文菜单但共享一些相似的菜单项时,我如何遵循良好的 DRY 原则?