[]
默认情况下,双击一个单元格,使单元格进入编辑状态,来编辑单元格的值,但是,有些单元格类型并不支持与单元格的值绑定(例如菜单、图文列表等),此时双击进入编辑状态的行为就比较奇怪。
单元格插件可以通过实现 IDefaultEditAction 接口,可以定制单元格默认的双击行为。
示例代码
修改 MyPluginCellType.cs 文件:
[Designer("MyPlugin.Designer.MyPluginCellTypeDesigner, MyPlugin")]
public class MyPluginCellType : CellType
{
[ListProperty]
public List<MyObj> MyProperty { get; set; }
}
public class MyObj : ObjectPropertyBase
{
public string Name { get; set; }
public string Description { get; set; }
}
修改 Designer\MyPluginCellTypeDesigner.cs 文件:
public class MyPluginCellTypeDesigner : CellTypeDesigner<MyPluginCellType>, IDefaultEditAction
{
public void OnStartEditStarting(IBuilderContext builderContext, StartEditingEventArgs args)
{
args.DefaultActionPropertyName = nameof(MyPluginCellType.MyProperty);
args.CancelEdit = true;
}
}
代码说明:
效果:
注意
DefaultActionPropertyName 属性对应的编辑器必须是超链接类型的,例如列表属性、命令属性、数据源属性等。