【问题标题】:Set a ContextMenu UserControl for a Grid为网格设置 ContextMenu UserControl
【发布时间】:2013-09-02 06:02:47
【问题描述】:

我在单独的用户控件类 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="">

【问题讨论】:

    标签: c# wpf xaml user-controls custom-contextmenu


    【解决方案1】:

    您必须在窗口的资源中定义资源,例如

    <local:CustomContextMenuUc x:Key="MyContextMenu"/>
    

    local 是定义上下文菜单的 xmlns。

    那你就可以了

    <DataGrid ContextMenu="{StaticResource MyContextMenu}">
    

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      • 2014-09-21
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多