ContextMenu in DataGridColumn XAML

Hello,

is there a possibility to integrate a ContextMenu into a syncfusion:SfDataGrid

syncfusion:GridTextColumn in XAML?

And can I bind the command to the ViewModel?


<syncfusion:GridTextColumn MappingName="Article"  >

....

                 <ContextMenu>

                     <MenuItem Header="MY"

                                 Command="{ Binding DataGrid.DataContext.My_Command}"    />

                 </ContextMenu


...

/syncfusion:GridTextColumn>


Thanks for the help

Regards Robert


1 Reply

MS Madhavan Sathapillai Syncfusion Team March 5, 2024 04:23 PM UTC

Hi Robert,

Query 1:

We have investigated your query, and we don’t have direct support to create the individual context menu for Columns. But you can achieve your requirement “Column wise Context menu” by GridContextMenuOpening event.  Please refer to the below code snippet and attachment.


Code Snippet :

public partial class MainWindow : Window

{

    public MainWindow()

    {

        InitializeComponent();

 

       this.dataGrid.GridContextMenuOpening += DataGrid_GridContextMenuOpening;

 

    }

 

    private void DataGrid_GridContextMenuOpening(object sender, Syncfusion.UI.Xaml.Grid.GridContextMenuEventArgs e)

    {

        if (e.RowColumnIndex.ColumnIndex == 0)

        {

            (e.ContextMenu.Items[1] as MenuItem).Visibility = Visibility.Collapsed;

            (e.ContextMenu.Items[0] as MenuItem).Visibility = Visibility.Visible;

        }

        else if(e.RowColumnIndex.ColumnIndex == 1)

        {

            (e.ContextMenu.Items[1] as MenuItem).Visibility = Visibility.Visible;

            (e.ContextMenu.Items[0] as MenuItem).Visibility = Visibility.Collapsed;

        }

        else

        {

            (e.ContextMenu.Items[1] as MenuItem).Visibility = Visibility.Visible;

            (e.ContextMenu.Items[0] as MenuItem).Visibility = Visibility.Visible;

        }

    }

}

Query 2:

Yes, we can bind the command to the Menu items from ViewModel. Please refer to the user guide document for this case.

UG link : Context menu in WPF DataGrid control | Syncfusion

We hope this helps. Please let us know, if need any further assistance.


Regards,
Madhavan S


Attachment: SfDataGridContextMenu_76d80b64.zip

Loader.
Up arrow icon