Page tree
Skip to end of metadata
Go to start of metadata

如果一个属性在设计器中是否显示,需要受到其他一个或几个属性影响,可以通过重写 GetDesignerPropertyVisible 方法实现。

C#示例代码:

    public class MyPluginServerCommand : Command, ICommandExecutableInServerSideAsync
    {
        public bool EnableCache { get; set; }
        public int CacheTime { get; set; }
        public override bool GetDesignerPropertyVisible(string propertyName, CommandScope commandScope)
        {
            if (propertyName == nameof(CacheTime))
            {
                return EnableCache;
            }
            return base.GetDesignerPropertyVisible(propertyName, commandScope);
        }

        public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
        {
            return new ExecuteResult();
        }
        public override CommandScope GetCommandScope()
        {
            return CommandScope.ExecutableInServer;
        }
    }


设计器效果:

  • No labels