[]
命令类型插件的父类定义。
[Icon("pack://application:,,,/Forguncy;component/Images/EditingCommand16.png")]
public abstract class Command : ICloneable
public class MyPluginCommand : Command
{
...
}
命令类型插件的父类定义。
protected Command()
public class MyPluginCommand : Command
{
...
}
Internal use
[Browsable(false)]
[DiffJsonIgnore]
public string BreakpointIdentity { get; set; }
类型 | 描述 |
---|---|
string |
命令的注释。
[Browsable(false)]
public string Comments { get; set; }
类型 | 描述 |
---|---|
string |
命令是否被禁用。
[Browsable(false)]
public bool Disabled { get; set; }
类型 | 描述 |
---|---|
bool |
Internal use
[SaveJsonIgnore]
public string DisplayName { get; }
类型 | 描述 |
---|---|
string |
子命令的运行环境是否是server。
[Browsable(false)]
public virtual bool IsStepIntoServer { get; }
类型 | 描述 |
---|---|
bool |
是否支持step into。
[Browsable(false)]
[DiffJsonIgnore]
public virtual bool SupportStepInto { get; }
类型 | 描述 |
---|---|
bool |
克隆命令插件。
public virtual Command Clone()
类型 | 描述 |
---|---|
Command | 返回克隆后的命令。 |
指定该命令插件是否包含子命令。 包含子命令的有条件命令,循环命令等;不包含子命令的有跳转页面命令等。
public virtual bool ContainSubCommands()
类型 | 描述 |
---|---|
bool | 返回true表示包含子命令,否则不包含。 |
获取应用资源。
public Dictionary<string, string> GetApplicationResource()
类型 | 描述 |
---|---|
System.Collections.Generic.Dictionary<TKey, TValue><string, string> | 返回应用资源。 |
获取应用资源。
public string GetApplicationResource(string name)
类型 | 名称 | 描述 |
---|---|---|
string | name | 资源名,以‘~’开头 |
类型 | 描述 |
---|---|
string | 返回应用资源。 |
指定命令插件的使用范围。
public virtual CommandScope GetCommandScope()
类型 | 描述 |
---|---|
CommandScope | 返回命令的使用范围。 |
示例请参照CommandScope
如果需要动态改变属性编辑器的可见性,可以重写该函数。
public virtual bool GetDesignerPropertyVisible(string propertyName, CommandScope commandScope)
类型 | 名称 | 描述 |
---|---|---|
string | propertyName | 属性名 |
CommandScope | commandScope | CommandScope |
类型 | 描述 |
---|---|
bool | 返回True表示属性编辑器可见,否则不可见。 |
public class MenuCellType: CellType
{
public Orientation Orientation { get; set; }
public ExpandStyle DefaultExpandStyle { get; set; }
public override bool GetDesignerPropertyVisible(string propertyName)
{
if (propertyName == "DefaultExpandStyle")
{
if (Orientation == MenuOrientation.Horizontal) //如果是水平方向的菜单隐藏默认展开方式。
{
return false;
}
return true;
}
return base.GetDesignerPropertyVisible(propertyName);
}
}
获取插件内置资源。
public string GetPluginResource(string name)
类型 | 名称 | 描述 |
---|---|---|
string | name | 资源名 |
类型 | 描述 |
---|---|
string | 返回插件资源。 |
public class ExampleCommand : Command
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
string message = GetPluginResource(resource name);
var result = new ExecuteResult() { Message = message };
return await Task.FromResult(result);
}
}
初始化默认属性值。
public virtual void InitDefaultPropertyValues()
public class CallStoredProcedureCommand : Command
{
public List<string> AllowAccessRoleList { get; set; } = new List<string>();
public override void InitDefaultPropertyValues()
{
AllowAccessRoleList = new List<string>() { DefaultRoleManager.FGC_LoginUser };
}
}
命令插件的显示名称,默认与插件定义的类名一样。
public override string ToString()
类型 | 描述 |
---|---|
string | 返回在命令列表中该命令插件的显示名称。 |
public class ShowMessageBoxCommand : Command
{
public override string ToString()
{
return "消息框命令";
}
}
该命令插件执行之后是否会跳转到其他页面或者刷新。 如果返回True,运行页面时会提示用户该命令之后的命令有可能不执行,如跳转页面命令。
public virtual bool WillNavigateOrReload()
类型 | 描述 |
---|---|
bool | 返回true表示该命令插件后续的命令会停止执行,返回false表示该命令插件执行不会影响后续命令的执行。 |