private void PasteFavorite(DrillDownMenuItem pasteTargetItem, DrillDownMenuItem pasteItem) { if (favoritesMenu.TopMenuItem != null) { DrillDownMenuItem cloneEntry = pasteItem.Clone() as DrillDownMenuItem; int idx = 0; if (pasteTargetItem.IsFolder) { cloneEntry.Parent = pasteTargetItem; idx = pasteTargetItem.Children.Count; } else if (pasteTargetItem.IsBackItem) { cloneEntry.Parent = pasteTargetItem.Parent.Parent; idx = pasteTargetItem.Parent.Parent.Children.Count; } else { cloneEntry.Parent = pasteTargetItem.Parent ?? favoritesMenu.TopMenuItem; idx = cloneEntry.Parent.Children.IndexOf(pasteTargetItem); if (pasteTargetItem.IsBackItem) { idx++; } } cloneEntry.Parent.Children.Insert(idx, cloneEntry); } }
public void AddToFavorites(DrillDownMenuItem drillDownMenuItem, DrillDownMenuItem targetFolder) { if (favoritesMenu.TopMenuItem != null) { DrillDownMenuItem cloneEntry = drillDownMenuItem.Clone() as DrillDownMenuItem; DrillDownMenuItem currentFolder = favoritesMenu.CurrentFolder; if (targetFolder != null) { currentFolder = targetFolder; } if (currentFolder.IsBackItem) { currentFolder = currentFolder.Parent ?? favoritesMenu.TopMenuItem; } cloneEntry.Parent = currentFolder; currentFolder.Children.Add(cloneEntry); } }