4

1 つの ContextMenu で作成した MenuItem をコピーし、それを 2 番目の ContextMenu で使用できるようにコピーするにはどうすればよいですか?

直接コピーして削除しようとしましたが、要素には既に論理的な親があります。新しい親にアタッチする前に、古い親からデタッチする必要があります。

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

ItemContainerGenerator を使用して MenuItem を取得しようとしましたが、空白の MenuItem が返されました (デバッガーは null であると言います)

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 に答える