Дополнительные методы
- 
T GetPropertyValue<T>(string value, string name, ScriptingData sd) — получает значение заданного свойства. Пример использования для свойства Prop1: string p1 = GetPropertyValue<String>(this.Prop1, "Prop1", sd);
- 
object GetPropertyValue(string value, string name, ScriptingData sd) — аналогично, но без строгой типизации. Пример для свойства Prop1: string p1 = GetPropertyValue(this.Prop1, "Prop1", sd) as string;
- 
void SetVariableValue<T>(string varName, T val, ScriptingData sd) — устанавливает значение свойства. Пример для свойства Prop1: SetVariableValue\<String>("Prop1", "value...", sd);
- 
void SetVariableValue(string varName, object val, Type dt, ScriptingData sd) — то же самое, но без строгой типизации. Пример: SetVariableValue("Prop1", "value...", sd);
- 
T GetContainerOfType<T>(IWFContainer container) — получает ссылку на ближайший контейнер определенного типа. Пример для контейнера PrimoCustomContainerV: PrimoCustomContainerV cont = GetContainerOfType\<PrimoCustomContainerV>(this.WFContainer);
- 
Window GenerateWindow(UserControl ctrl) — создает модальное окно с заданным содержимым. 
- 
IWFComponent ProduceControl(IWFContainer container) — метод вызывается при создании элемента. В нем можно проверять валидность точки создания и создавать контейнер, если его нет. Например: 
public override IWFComponent ProduceControl(IWFContainer container)
{
    if (GetContainerOfType<MyContainer>(container) == null)
    {
        MyContainer db = new MyContainer(container);
        db.AddComponent(new MyComponent(db), null);
        return db;
    }
    return new MyComponent(container);
}- bool IsAllowedMoveToContainer(IWFContainer cont) — проверяет возможность перемещения элемента в заданную точку. Например, если хотим создать невозможность выноса элемента из контейнера:
public override bool IsAllowedMoveToContainer(IWFContainer cont)
{
    if (GetContainerOfType<MyContainer>(cont) != null)
        return true;
    return false;
}