Skip to content

支持批量选中命令参数

对于 ListPropertyFlatListProperty参数来说,为了提升参数选择的易用性,可以使用批量选中的功能。本章将向您介绍如何在插件中实现此功能。

如下例是一个同时拥有 ListPropertyFlatListProperty属性的命令:

csharp
[Icon("pack://application:,,,/Test;component/Resources/Icon.png")]
[Designer("Test.Designer.TestCommandDesigner, Test")]
public class TestCommand : Command
{
    [ListProperty]
    public List<DataObject> DataObject1 { get; set; } = new List<DataObject>();

    [FlatListProperty]
    public List<DataObject> DataObject2 { get; set; } = new List<DataObject>();
}

public class DataObject : ObjectPropertyBase
{
    [IntelligentName]
    public string Name { get; set; }

    [FormulaProperty]
    [IntelligentFormula]
    public object Value { get; set; }
}

您可以在模型类型 DataObject定义时,标记 IntelligentNameAttributeIntelligentFormulaAttribute 特性,当标记之后,您就可以得到如下的批量选择的功能:

1725861359037-5d54f7c5-425b-47bd-ad09-b21a84068594.gif

需要注意的点:

  1. IntelligentNameAttributeIntelligentFormulaAttribute特性必须成对出现,一个用来标记快速选择资源的Name,一个标记Value
  2. 此特性为 10.0.100.0 版本新增

更新: 2024-09-09 14:54:23
原文: https://www.yuque.com/robert-bh51n/ea8l6c/ace166ubrtz3dub5