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.