我在单独的用户Control Class CustomContextMenuUc中创建了一个自定义上下文菜单。
代码的简单版本如下所示。
<ContextMenu x:Class="CustomContextMenu.CustomContextMenuUc"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ItemsSource="{Binding Groups}">
<ContextMenu.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Items}">
<TextBlock Text="{Binding Description.Value}" />
</HierarchicalDataTemplate>
</ContextMenu.ItemTemplate>
<ContextMenu.OverridesDefaultStyle>True</ContextMenu.OverridesDefaultStyle>
<ContextMenu.Placement>Custom</ContextMenu.Placement>
</ContextMenu>
我想在多个Windows中使用此CustomContextMenuUc
。我可以用C#代码分配这个用户控件,如
ContextMenuGrid.ContextMenu = new CustomContextMenuUc();
其中ContextMenuGrid
是网格。
我想在XAML中这样做我应该怎么做?
<DataGrid ContextMenu="">
答案 0 :(得分:2)
您必须在窗口的资源中定义资源,如
<local:CustomContextMenuUc x:Key="MyContextMenu"/>
此处local
是定义上下文菜单的xmlns。
然后你可以做
<DataGrid ContextMenu="{StaticResource MyContextMenu}">
由于