public void SetSupportedDragDropEffects(DragDropEffectsEx effects, DragDropEffectsEx defaultEffect = DragDropEffectsEx.Copy) { ContextMenu.Items.Clear(); foreach (var e in Enum.GetValues(typeof(DragDropEffectsEx))) { DragDropEffectsEx curEffect = (DragDropEffectsEx)e; if (curEffect != DragDropEffectsEx.None && effects.HasFlag(curEffect)) { var header = new TextBlock() { Text = curEffect.ToString() }; if (curEffect.Equals(defaultEffect)) { header.FontWeight = FontWeights.Bold; ContextMenu.Items.Insert(0, new MenuItem() { Tag = e, Header = header }); } else { ContextMenu.Items.Add(new MenuItem() { Tag = e, Header = header }); } } } }