我有一个已定义的 MenuItem,我想在一个页面上的两个不同菜单之间共享它。该菜单包含两个菜单之间相同的功能,我不想要它的两个副本。无论如何要在 Page.Resources 中定义一个 MenuItem 并在下面的 ContextMenu XAML 中引用它?
<Page.Resources>
<MenuItem x:Key="123"/>
</Page.Resources>
<ContextMenu>
<MenuItem>Something hardcoded</MenuItem>
<!-- include shared menu here -->
</ContextMenu>
Run Code Online (Sandbox Code Playgroud)
我通过在菜单项本身上设置 x:Shared="False" 来做到这一点。默认情况下,资源在使用它们的每个地方之间共享(意味着所有使用中的一个实例),因此关闭它意味着每次都会制作资源的新“副本”。
所以:
<MenuItem x:Key="myMenuItem" x:Shared="False" />
Run Code Online (Sandbox Code Playgroud)
您仍然会得到它的“副本”,但您只需要在一个地方定义它。看看是否有帮助。您可以在菜单定义中像这样使用它:
<StaticResource ResourceKey="myMenuItem" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2480 次 |
| 最近记录: |