I have a custom control AsGridItem
which is a customized button that am creating pragmatically and adding to a WrapPanel
. I need help to implement the context menu fully on it so that I can delete the referenced item from my db or even open a new window or show a popup window.
private void LoadItems(List<MyItems> items)
{
foreach (item in items)
{
AsGridItem asGrid = new AsGridItem();
asGrid.Title = item.Title;
asGrid.Icon = item.IconName;
asGrid.PackIcon = item.ContentType;
MenuItem editMenu1 = new MenuItem();
editMenu1.Header = "Open this Item";
editMenu1.Click += ItemOpen_Click;
MenuItem editMenu2 = new MenuItem();
editMenu2.Header = "Delete this Item";
editMenu2.Click += ItemDelete_Click;
MenuItem editMenu3 = new MenuItem();
editMenu3.Header = "View Properties";
editMenu3.Click += ItemProperties_Click;
ContextMenu contextMenu = new ContextMenu();
contextMenu.Items.Add(editMenu1);
contextMenu.Items.Add(editMenu2);
contextMenu.Items.Add(editMenu3);
asGrid.ContextMenu = contextMenu;
asGrid.Click += GridItem_Click;
ItemsList.Children.Add(asGrid);
}
}
private void GridItem_Click(object sender, RoutedEventArgs e)
{
AsGridItem asGrid = sender as AsGridItem;
OpenItem(asGrid);
}
private void ItemOpen_Click(object sender, RoutedEventArgs e)
{
AsGridItem asGrid = sender as AsGridItem;
OpenItem(asGrid);
}
I am the error of object set to a null reference and I cant figure how to solve this.