Скрытые аргументы рабочего процесса в System.Activities.ActivityBuilder - PullRequest
4 голосов
/ 07 апреля 2011

Я переписал конструктор Workflow, и базовое действие, которое я загружаю, - это Activity Builder (workflowDesigner.Load (activityBuilder);)

Мне нужно добавить некоторые подробности к действию, изначение, которое пользователь не должен иметь возможность редактировать (или может даже видеть на поверхности дизайнера).Для этого я (в настоящее время) добавляю несколько аргументов следующим образом, где я могу добавить дополнительную информацию.

  activityBuilder.Properties.Add (new DynamicActivityProperty
    {
        Name = "HiddenArgument",
        Type = typeof (string),
        Value = "Value that the user should not edit."
    });

Но поскольку эти аргументы видны на поверхности конструктора на панели аргументов в нижней части конструктораПользователь может редактировать это.У меня также есть другие аргументы, которые пользователь может редактировать, поэтому я не могу отключить всю панель аргументов.

Я бы просто хотел узнать, как я могу добавить свою информацию в рабочий процесс (и, очевидно, сохранить ее в файле * .XAML), чтобы пользователь не мог редактировать (или просматривать) эту информацию.

ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ : я в основном хочу что-то вроде: если я создаю пользовательское действие, я могу добавить свойства с помощью [Browsable (false)], что заставляет пользователя не видеть свойство на правой боковой панели, нодержать значение!

Ответы [ 2 ]

1 голос
/ 01 декабря 2015

[Browsable(false)] - Только этот атрибут избегает представления этого аргумента в PropertyInspector. [EditorBrowsable(EditorBrowsableState.Never)] - не влияет на доступность этого аргумента от инспектора свойств, оно делает свойство недоступным для intellisense.

[Browsable(false)]
public InArgument<string> Foo { get; set;}
1 голос
/ 02 июня 2014

EditorBrowsableAttribute - это то, что вы будете использовать в обычном аргументе обычной операции.

[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public InArgument<string> Foo { get; set;}
...