[]
CellType设计器。
[SearchTags(new string[] { })]
public class CellTypeDesigner
CellType设计器。
public CellTypeDesigner()
设计器对应的CellType。
public CellType CellType { get; set; }
类型 | 描述 |
---|---|
CellType |
获取应用资源。
public Dictionary<string, string> GetApplicationResource()
类型 | 描述 |
---|---|
System.Collections.Generic.Dictionary<TKey, TValue><string, string> | 返回应用资源。 |
获取应用资源。
public string GetApplicationResource(string name)
类型 | 名称 | 描述 |
---|---|---|
string | name | 资源名,以‘~’开头 |
类型 | 描述 |
---|---|
string | 返回应用资源。 |
如果单元格想要显示预览效果,需重写该方法,返回一个WPF的元素。
public virtual FrameworkElement GetDrawingControl(ICellInfo cellInfo, IDrawingHelper drawingHelper)
类型 | 名称 | 描述 |
---|---|---|
ICellInfo | cellInfo | 单元格信息。 |
IDrawingHelper | drawingHelper | 画法帮助工具。 |
类型 | 描述 |
---|---|
System.Windows.FrameworkElement | 返回WPF元素。 |
public class ButtonGroupCellType : CellType
{
public string AddButtonText { get; set; }
public string DeleteButtonText { get; set; }
public override FrameworkElement GetDrawingControl(ICellInfo cellInfo, IDrawingHelper drawingHelper)
{
Button addButton = new Button() { Content = this.AddButtonText };
Button deleteButton = new Button() { Content = this.DeleteButtonText, Margin = new Thickness(5, 0, 0, 0) };
Grid container = new Grid();
container.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) });
container.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) });
container.Children.Add(addButton);
container.Children.Add(deleteButton);
Grid.SetColumn(addButton, 0);
Grid.SetColumn(deleteButton, 1);
return container;
}
}
CellType设计器。
public virtual Uri GetDrawingControlImageUri(ICellInfo cellInfo, IDrawingHelper drawingHelper)
类型 | 名称 | 描述 |
---|---|---|
ICellInfo | cellInfo | |
IDrawingHelper | drawingHelper |
类型 | 描述 |
---|---|
System.Uri |
获取属性对应的属性编辑器。 如果是简单类型的属性,内部会根据属性的类型自动生成编辑器;复杂类型的属性,可自定义编辑器。 支持的简单属性类型包括: bool/bool? --- CheckBoxEditor int/int? --- IntEditor double/double? --- DoubleEditor Orientation --- OrientationEidtor ImageValue --- ImageEditor TimeSpan --- TimeValueEditor string --- TextEditor enum --- ComboEditor,如果显示文本和值不一样的话,可指定枚举的DescriptionAttribute作为显示文本。 List<Command> --- HyperlinkEditor,活字格内部编辑命令的编辑器。 标记FormulaPropertyAttribute --- FormulaSelectorEditor,活字格内部公式编辑器。
public virtual EditorSetting GetEditorSetting(PropertyDescriptor property, IBuilderContext builderContext)
类型 | 名称 | 描述 |
---|---|---|
System.ComponentModel.PropertyDescriptor | property | 属性信息 |
IBuilderContext | builderContext | 上下文信息 |
类型 | 描述 |
---|---|
EditorSetting | 属性编辑器。 |
public class MyTextCellTypeDesigner : CellTypeDesigner<CurrentUserCellType>
{
public string Text { get; set; }
public override EditorSetting GetEditorSetting(PropertyDescriptor property, IBuilderContext builderContext)
{
if(property.Name == "Text")
{
return new TextEditorSetting();
}
}
}
获取插件资源。
public string GetPluginResource(string name)
类型 | 名称 | 描述 |
---|---|---|
string | name | 资源名 |
类型 | 描述 |
---|---|
string | 返回插件资源。 |
属性值被编辑时会被调用的回调函数
public virtual void OnPropertyEditorChanged(string propertyName, object propertyValue, Dictionary<string, IEditorSettingsDataContext> properties)
类型 | 名称 | 描述 |
---|---|---|
string | propertyName | 属性名 |
object | propertyValue | 属性值 |
System.Collections.Generic.Dictionary<TKey, TValue><string, IEditorSettingsDataContext> | properties | 全部属性 |
单元格被粘贴时会被调用的回调函数
public virtual void Pasted(ICellTypePastedContext context)
类型 | 名称 | 描述 |
---|---|---|
ICellTypePastedContext | context | 上下文信息 |