Пример #1
0
        public override bool CanExecute(object parameter)
        {
            var context = parameter as ContentEditorFieldContext;

            if (context == null)
            {
                return(false);
            }

            var field = context.Field;

            if (!(field.Control is LinkField))
            {
                return(false);
            }

            Context = context;

            return(true);
        }
Пример #2
0
        public override bool CanExecute(object parameter)
        {
            var context = parameter as ContentEditorFieldContext;

            if (context == null)
            {
                return(false);
            }

            var field = context.Field;

            if (field.TemplateFieldId != PathFieldId)
            {
                return(false);
            }

            Context = context;

            return(true);
        }
Пример #3
0
        private void OpenContextMenu([NotNull] object sender, [NotNull] ContextMenuEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            ContextMenu = null;

            var contentEditor = this.GetAncestorOrSelf <ContentEditor>();

            if (contentEditor == null)
            {
                return;
            }

            var fld = sourceField;

            if (fld == null)
            {
                e.Handled = true;
                return;
            }

            var context = new ContentEditorFieldContext(contentEditor, fld, this);

            var commands = CommandManager.GetCommands(context);

            if (!commands.Any())
            {
                e.Handled = true;
                return;
            }

            var contextMenu = new ContextMenu();

            contextMenu.Build(commands, context);

            ContextMenu = contextMenu;
        }
Пример #4
0
        private void ShowContextMenu([NotNull] object sender, [NotNull] RoutedEventArgs e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            ContextMenu = null;

            var fld = Field;

            if (fld == null)
            {
                return;
            }

            var context = new ContentEditorFieldContext(ContentEditor, fld, this);

            var commands = CommandManager.GetCommands(context);

            if (!commands.Any())
            {
                return;
            }

            var contextMenu = new ContextMenu
            {
                Placement       = PlacementMode.Bottom,
                PlacementTarget = this
            };

            contextMenu.Build(commands, context);

            ContextMenu = contextMenu;

            ContextMenu.IsOpen = true;

            e.Handled = true;
        }
Пример #5
0
 public override void ContextMenuClosed()
 {
     Context = null;
 }