Skip to Content
SDKLTools.Office.SDKДополнительные методы

Дополнительные методы

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) - аналогично, но без строгой типизации

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; }