我在多个视图中使用自定义控件。在那个自定义控件中,我定义了一个带有通用 MenuItems 的上下文菜单,这些菜单项需要在不同的视图中可用。每个视图都可以通过它们自己的 MenuItems 扩展该上下文菜单。
我该如何做到这一点?我只能替换现有的上下文菜单,但不能扩展它。
我在这里阅读了有关合并上下文菜单的信息:http ://wpftutorial.net/ContextMenu.html 。但它没有显示如何与现有的合并。
我在多个视图中使用自定义控件。在那个自定义控件中,我定义了一个带有通用 MenuItems 的上下文菜单,这些菜单项需要在不同的视图中可用。每个视图都可以通过它们自己的 MenuItems 扩展该上下文菜单。
我该如何做到这一点?我只能替换现有的上下文菜单,但不能扩展它。
我在这里阅读了有关合并上下文菜单的信息:http ://wpftutorial.net/ContextMenu.html 。但它没有显示如何与现有的合并。
使用资源。您在窗口/用户控件的资源中定义所有菜单项,然后使用菜单项的键引用它们。
<Window.Resources>
<MenuItem Header="Add sub-folder"
Command="{Binding FolderNewCmd}"
x:Key="AddFolderMenu">
<MenuItem.Icon>
<Image Source="/YourAssemblyNameSpace;component/Images/16/abc.png"
Width="16"
RenderOptions.BitmapScalingMode="NearestNeighbor">
</Image>
</MenuItem.Icon>
</MenuItem>
... <--other menu items-->
<Window.Resources>
当您想在菜单(例如上下文菜单)中引用此菜单项时:
<TreeView.ContextMenu>
<StaticResource ResourceKey="AddFolderMenu" />
<StaticResource ResourceKey="OtherMenuItemInResource" />
...
</TreeView.ContextMenu>