XamDataGridのContextMenuService.ManagerにXamContextMenuを設定することによりセルが右クリックされた際にコンテキストメニューを表示することができます。
<igWPF:XamDataGrid> <ig:ContextMenuService.Manager> <ig:ContextMenuManager> <ig:ContextMenuManager.ContextMenu> <ig:XamContextMenu Name="contextMenu" Opening="contextMenu_Opening" > <ig:XamMenuItem Header="Item1" /> <ig:XamMenuItem Header="Item2" /> <ig:XamMenuItem Header="Item3" /> </ig:XamContextMenu> </ig:ContextMenuManager.ContextMenu> </ig:ContextMenuManager> </ig:ContextMenuService.Manager> </igWPF:XamDataGrid>
XamContextMenuのOpeningイベントでクリックされた行をプログラムで選択状態にすることができます。
private void contextMenu_Opening(object sender, OpeningEventArgs e)
{
List<CellValuePresenter> cells = e.GetClickedElements<CellValuePresenter>();
if (cells.Count == 0 )
{
e.Cancel = true;
}
else
{
xamDataGrid1.SelectedItems.Records.Clear();
cells[0].Record.IsSelected = true;
cells[0].Record.IsActive = true;
}
}
