【发布时间】:2013-06-15 20:30:36
【问题描述】:
我正在尝试减少代码重复。考虑以下几点:
<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>
如何将“one”传递给第一个 commonItem 实例,将“two”传递给第二个?
我意识到,鉴于上面的示例,会有更好的方法来做到这一点,这是我们 XAML 中实际情况的极其精简的版本。
更普遍的问题是,当我在整个应用程序中都有不同的上下文菜单但共享一些相似的菜单项时,我如何遵循良好的 DRY 原则?
【问题讨论】:
标签: c# wpf xaml datacontext