如何在网格单元格中使用from ContextMenu

本文关键字:from ContextMenu 单元格 网格 | 更新日期: 2023-09-27 18:22:18

我有一个类似的CustomControl:

        <Button Name="b"  Height="20" Click="b_Click"  Content="operation" Width="60">
         <Button.ContextMenu> 
             <ContextMenu>
                <MenuItem Header="Copy"></MenuItem>
                <MenuItem Header="cut"></MenuItem>
                <MenuItem Header="delete"></MenuItem>
            </ContextMenu>
         </Button.ContextMenu> 
        </Button>

在CodeBehind ia有:

   if (b.ContextMenu != null && b.ContextMenu.IsOpen == false)
               {
                    b.ContextMenu.PlacementTarget = b;
                    b.ContextMenu.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
                   ContextMenuService.SetPlacement(b, System.Windows.Controls.Primitives.PlacementMode.Bottom);
                   b.ContextMenu.IsOpen = true;//I have error in this Line
                }

我在DataGrid单元格中使用来自控制器的。。。当我点击我的按钮时,我在这行中得到一个错误

 b.ContextMenu.IsOpen = true;

"ContextMenu"不能有逻辑或可视化的父

我如何解决这个erorr

如何在网格单元格中使用from ContextMenu

一个工作应用程序的示例,希望这能为您提供所需的线索。。。

<DataGrid Margin="0,0,195,72" x:Name="A"> 
            <DataGrid.Resources>
                <ContextMenu x:Key="ContextMenu">
                    <MenuItem Header="Copy" Click="MenuItem_Click"></MenuItem>
                    <MenuItem Header="cut" Click="MenuItem_Click"></MenuItem>
                    <MenuItem Header="delete" Click="MenuItem_Click"></MenuItem>
                </ContextMenu>
            </DataGrid.Resources>
            <DataGrid.CellStyle>
                <Style TargetType="{x:Type DataGridCell}">
                    <Setter Property="ContextMenu" Value="{StaticResource ContextMenu}">
                                           </Setter>
                </Style>
            </DataGrid.CellStyle>
            <DataGrid.Columns>
                <DataGridTextColumn Header="A" Binding="{Binding}">
                </DataGridTextColumn>
            </DataGrid.Columns>
        </DataGrid>