4.6.1. XTextElement文档基础元素
文档基础元素类型是DCSoft.Writer.Dom.XTextElement,它是所有文档元素类型的基础类型,其主要成员有:
4.6.2. XTextDocument 文档对象
文档对象类型是DCSoft.Writer.Dom.XTextDocument,它表示整个文档,其主要成员有: public string SpecifyTag{get;set;}
特殊的附加数据,这种数据能保存在复制粘贴过程中生成的临时XML文档,当不包含在其保存的XML文档。
这是一种特殊的附加数据,可用于复制粘贴操作时的额外处理,由于复制粘贴操作中被复制的文档内容会创建一个小的文档复制品然后进行XML序列化,此时该值也会随着被包含进去,粘贴时就会跟着还原出来,此时可用于额外控制。
例如,若设置本标记为病历号,则可以通过这个属性来实现不同病历之间数据不能复制粘贴的功能。
public Version EditorVersion{get;set;}
最后一次保存文档的编辑器的程序版本号。可用于兼容性处理。 public DocumentOptions Options{get;set;} 文档相关的配置项目,该对象不参与二进制和XML序列化。 public DocumentInfo Info{get;set;} 文档相关信息。
public bool Printing{get;set;} 文档正处于打印状态。 public bool Modified{get;set;} 文档内容发生改变标记。 public bool FileName{get;set;}
文件名。
public WriterAppHost AppHost{get;set;} 编辑器应用程序宿主对象。本属性首先使用文档对象自己的宿主对象,若没有则使用文档对象绑定的编辑器控件的宿主对象,若没有则使用默认宿主对象。 public DocumentControler DocumentControler{get;set;}
文档控制器。本属性内部首先使用其绑定的编辑器控件的控制器,若没有使用文档自己的控制器,若没有则创建一个新的控制器。 public XTextDocumentHeaderElement Header{get;} 页眉对象。
public XTextDocumentBodyElement Body{get;} 文档正文对象。
public XTextDocumentFooterElement Footer{get;} 页脚对象。
public XTextDocumentContentElement CurrentContentElement{get;}
当前插入点所在的文档内容块对象,它是Header,Body或Footer中的某个。
public XTextSelection Selection{get;} 当前被选择的内容。
public XTextElement CurrentElement{get;} 当前插入点所在的文档元素对象。 public XTextFieldElement CurrentField{get;}
当前插入点所在的域对象。
public XTextElement GetCurrentElement ( Type elementType ) 当前插入点所在的文档元素对象。
public virtual void OnDocumentLoad( EventArgs args )
触发文档的DocumentLoad事件。本方法内部还会调用文档绑定的编辑器控件的OnDocumentLoad方法。
public event EventHandler DocumentLoad
文档的加载成功的事件。当从XML、RTF文档加载文档内容时就会触发该事件。 public virtual void OnDocumentContentChanged( )
触发文档的DocumentContentChanged事件。本方法内部还会调用文档对象绑定的编辑器控件的OnDocumentContentChanged方法。
public event EventHandler DocumentContentChanged
文档内容发生改变事件。当用户修改了文档的任何内容时就会触发该事件。 public void OnSelectionChanged ( ) 触发文档的SelectionChanged事件。本方法还会调用文档对象绑定的编辑器控件的OnSelectionChanged方法。
public event EventHandler SelectionChanged
文档选择状态发生改变后的事件,包括选择区域改变或插入点位置的改变。 public virtual void OnSelectionChanging( SelectionChangingEventArgs args )
触发文档的SelectionChanging事件,本方法还会调用文档绑定的编辑器控件的OnSelectionChanging方法。
public event SelectionChangingEventHandler SelectionChanging
文档选择状态或插入点位置正在发生改变事件。该事件的第二个参数类型为SelectionChangingEventArgs,该参数类型的主要属性有 Document 事件相关的文档对象。 OldLineEndFlag OldSelectionIndex OldSelectionLength NewLineFlag NewSelectionIndex NewSelectionLength Cancel 旧的行尾标记。 旧的插入点位置。 旧的选择区域长度。 新的行尾标记。 新的插入点位置。 新的选择区域长度。 取消操作标记。应用程序可以设置该属性值为true来取消选择区域发生改变的操作。 public virtual void Load( string filename , FileFormat format ) 以指定的格式从指定的文件加载文档。
public virtual void Load( Stream stream , FileFormat format ) 以指定的格式从文件流中加载文档。
public void Save( string filename , FileFormat format )
以指定的格式将文档保存在文件中。
public void Save( Stream stream , FileFormat format ) 以指定的格式将文档保存在文件流中 public void Clear()
清空文档内容。
public DCSoft.Writer.Controls.WriterControl EditorControl{get;set;} 文档对象绑定的编辑器控件。 public string GetFormValue( string name ) 获得指定名称的输入域的文本内容。 public XTextElement GetElementById( string id )
获得文档中指定编号的元素对象,查找时ID值区分大小写的。 public XTextElementList GetSpecifyElements( Type elementType ) 获得文档中所有的指定类型的文档元素列表。 public string XMLText{get;set;}
获得或设置表示文档所有内容的XML字符串。 public string RTFText{get;set;}
获得或设置表示文档所有内容的RTF字符串。 public string Text{get;set;} 获得和设置表示文档正文内容的纯文本字符串。 public UserHistroyInfoList UserHistories{get;set;} 用户历史记录列表。
public XFontValue DefaultFont{get;set;}
文档使用的默认字体。
public DocumentContentStyleContainer ContentStyles{get;set;}
文档样式容器。
public void DeleteUselessStyle() 删除文档中没有使用到的样式。在文档编辑过程中,可能会产生没有任何文档元素使用到的文档样式,此时可以使用本方法来删除没有用的样式,减少文档数据量。 public DocumentContentStyle CurrentStyle{get;}
当前文档样式,该属性受插入点的位置改变或者执行了一些编辑器命令而改变。 public DocumentContentStyle CurrentParagraphStyle{get;} 当前段落样式。
public DocumentContentStyle DefaultStyle{get;} 默认文档样式。
public HighlightManager HighlightManager{get;}
文档视图中高亮度显示区域管理器。 public XTextElement HoverElement{get;set;} 文档视图中当前鼠标光标下的文档元素对象。
public virtual XTextElement GetElementAt( float x , float y , bool strict ) 获得指定文档视图中指定位置处的文档元素对象。 public DCSoft.Printing.XPageSettings PageSettings{get;set;} 文档页面设置。
public DCSoft.Printing.PrintPageCollection Pages{get;} 文档页列表。
public int PageIndex{get;set;}
从1开始计算的当前显示和打印的页号 public int UpdateDataBinding ( )
更新数据源绑定,重新从数据源中读取数据并填充到文档中。本方法可能会触发文档的DocumentContentChanged事件,但不会修改Modified标记。 public int WriteDataSource ( ) 将文档中的数据写入到数据源中。
public virtual DocumentParameterCollection Parameters{get;set;} 文档参数列表。
public object ServerObject{get;set;}
服务器对象。
public virtual ValueValidateResultList ValueValidate ( )
对整个文档的输入域进行数据校验,并返回校验结果。
特别注意:文档对象XTextDocment的Style和RuntimeStyle属性是不能用的。
4.6.3. XTextCharElement字符
DCWriter文档中最常见的字符元素,字符在DOM中的类型是DCSoft.Writer.Dom.XTextCharElement。
在DCWriter中,文档中的每一个字符都会生成一个XTextCharElement对象实例。该类型主要成员有:
public char CharValue{get;set;}
字符数据。
4.6.4. XTextImageElement图片
DCWriter支持图片,图片在DOM中的类型是DCSoft.Writer.Dom.XTextImageElement。该类型常用的成员有:
public string Title{get;set;}
标题。
public bool KeepWidthHeightRate{get;set;}
保持宽度、高度比例。若本属性值为true,则用户鼠标拖拽改变图片大小时会保持图片的宽度高度比例,否则用户可以随意改变图片的宽度和高度。 Public DCSoft.Drawing.XImageValue Image{get;set;}
图片内容。
应用程序可以调用编辑器命令InsertImage向文档的插入点位置插入一个图片元素。关于InsertImage命令可参看本文档的编辑器命令清单章节。