Skip to content

字符串属性

默认情况下,如果一个属性的类型是 string 那么这个属性会被自动识别为字符串属性,不需要做任何额外的事情

csharp
    public class MyPluginCommand : Command
    {
        public string MyProperty { get; set; }
    }

在设计器中效果如下

1669595281576-606af2d4-ebc7-49ea-8c98-07d7228ad20f.png

如果需要更细致的控制,需要使用 TextPropertyAttribute 标注来控制
注意,标注TextPropertyAttribute的属性类型必须是 string

  1. 添加水印
    1. 设置TextPropertyAttribute 的 Watermark 属性
    2. 代码
csharp
    public class MyPluginCommand : Command
    {
        [TextProperty(Watermark = "请输入名称...")]
        public string MyProperty { get; set; }
    }
3. 效果![1707123969871-efcd6771-67f4-4bee-92a1-7fc532a302ea.png](./img/7IpIown_9BDSyRcd/1707123969871-efcd6771-67f4-4bee-92a1-7fc532a302ea-074258.png)
4. 本特性要求活字格版本大于等于10.0.0.0
  1. 支持输入多行文本
    1. 设置TextPropertyAttribute 的 AcceptsReturn 属性
    2. 代码
csharp
    public class MyPluginCommand : Command
    {
        [TextProperty(AcceptsReturn = true)]
        public string MyProperty { get; set; }
    }
3. 效果![1707123592885-248e69ab-0f1d-4d99-a054-2e115c3c434b.png](./img/7IpIown_9BDSyRcd/1707123592885-248e69ab-0f1d-4d99-a054-2e115c3c434b-269161.png)
4. 本特性要求活字格版本大于等于10.0.0.0
  1. 支持多语言功能
    1. 设置TextPropertyAttribute 的 CanSelectResource 属性
    2. 代码
csharp
    public class MyPluginCommand : Command
    {
        [TextProperty(CanSelectResource = true)]
        public string MyProperty { get; set; }
    }
3. JavaScript 代码
javascript
class MyPluginCommand extends Forguncy.Plugin.CommandBase {
    execute() {
        let text = this.CommandParam.MyProperty;
        // 通过代码 this.getApplicationResource(text) 可以获取当前语言对应的值
        text = this.getApplicationResource(text);
        alert(text);
    }
}
Forguncy.Plugin.CommandFactory.registerCommand("MyPlugin.MyPluginCommand, MyPlugin", MyPluginCommand);

WARNING

this.getApplicationResource(key) 可以在多语言情况下把key替换为当前语言的字符串,在非多语言环境下,会返回原始的key字符串。

4. 效果![1707124144155-ca5c5bf5-15ad-4345-bf06-99a1ead8616d.png](./img/7IpIown_9BDSyRcd/1707124144155-ca5c5bf5-15ad-4345-bf06-99a1ead8616d-191241.png)  

本特性要求活字格版本大于等于10.0.0.0,并开启了多语言功能

更新: 2024-03-27 09:15:50
原文: https://www.yuque.com/robert-bh51n/ea8l6c/fgxtk6l2ro214x7f