4

如何复制我在一个 ContextMenu 中创建的 MenuItem 并复制它以便我可以在第二个 ContextMenu 中使用它?

我试图直接复制它并删除它,但我得到Element 已经有一个逻辑父级。在附加到新的父级之前,它必须与旧的父级分离。

foreach(MenuItem mi in menuOptions.Items) { 
    entityRightClick.Items.Add(mi);
    menuOptions.Items.Remove(mi);
}

我尝试使用 ItemContainerGenerator 抓取 MenuItem,它给了我一个空白的 MenuItem(调试器说它是空的)

for(int i = 0; i < menuOptions.Items.Count; i++) {
    MenuItem temp = new MenuItem();
    temp = menuOptions.ItemContainerGenerator.ContainerFromIndex(i) as MenuItem;
    entityRightClick.Items.Add(temp);
}
4

1 回答 1

4

根据您的错误消息,我希望这可以工作(尽管我还没有测试过):

foreach(MenuItem mi in menuOptions.Items) 
{      
     menuOptions.Items.Remove(mi);
     entityRightClick.Items.Add(mi);
 }
于 2012-07-05T15:33:38.237 回答