WPF_DataGrid右键菜单,传参DataGrid

<DataGrid>
    <DataGrid.ContextMenu>
        <ContextMenu>
            <MenuItem Header="勾选" Command="{Binding SelectAllCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PlacementTarget}"/>
        </ContextMenu>
    </DataGrid.ContextMenu>
</DataGrid>

当右键菜单的菜单项被点击时,我们首先获取菜单项的父级ContextMenu,然后使用PlacementTarget属性获取菜单的父级元素,

private void SelectAll(object obj)
{
   if (!(obj is System.Windows.Controls.DataGrid datagrid)) return;
}

评论