XmlForm 类

定义

代表表单的基础 XML 文档。

public ref class XmlForm abstract
public abstract class XmlForm
type XmlForm = class
Public MustInherit Class XmlForm
继承
XmlForm

注解

XmlForm类是 InfoPath 托管代码对象模型中的关键对象,它提供属性、方法和事件,这些属性、方法和事件可用于以编程方式与表单的基础 XML 文档中的 XML 数据进行交互和操作。

虽然XmlForm可以使用 类的 Application 属性从 XmlFormCollectionXmlForms访问对象,但在大多数情况下,在使用表单模板业务逻辑时,你将使用此 C#) 中的 (或 Visual Basic 中的 Me ( () 关键字访问XmlForm类及其成员,而无需遍历集合。

例如,以下事件的事件处理程序Loading代码示例使用 thisMe 关键字访问 MainDataSource 类的 XmlFormNamespaceManager 属性。 这些属性用于处理System.Xml 的实例 。XPath.XPathNavigator员工 字段 (使用 NamespaceManager 属性) 解析命名空间前缀,然后将字段设置为当前用户的用户名。

public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
   // Create XPathNavigator positioned at the root of the main data 
   // source.
   XPathNavigator myNav = this.MainDataSource.CreateNavigator()

   // Select employee field and set value to username.
   myNav.SelectSingleNode("//my:employee",this.NamespaceManager).
      SetValue(System.Environment.UserName);
}
Public Sub FormEvents_Loading(ByVal sender As Object, ByVal e As LoadingEventArgs)
   ' Create XPathNavigator positioned at the root of the main data 
   ' source.
   Dim myNav As XPathNavigator = Me.MainDataSource.CreateNavigator()

   ' Select employee field and set value to username.
   myNav.SelectSingleNode("//my:employee", Me.NamespaceManager). _
      SetValue(System.Environment.UserName)
End Sub

注意:无需显式引用 thisMe 关键字来访问表单代码中的 类的成员 XmlForm 。 例如,可以在前面的 C# 和 Visual Basic 示例中编写用于访问 MainDataSource 属性的代码行,如下所示:

XPathNavigator myNav = MainDataSource.CreateNavigator()
Dim myNav As XPathNavigator = MainDataSource.CreateNavigator()

但是,在编写代码时,使用 thisMe 关键字确实有助于完成 IntelliSense 语句,这将列出在表单模板的 XmlForm FormCode 模块中编写业务逻辑代码时类的成员。

使用托管代码时,可通过 属性访问表单的源 XML 数据, MainDataSource 该属性返回表示窗体的主数据源的 DataSource 类的实例。 CreateNavigator()然后, DataSource 类的 方法用于创建System.Xml 的实例。XPath.XPathNavigator 类,该类位于窗体的基础 XML 文档的根目录中。 接下来,可以使用 XPathNavigator 类的成员导航、读取或写入表单数据。 有关在 InfoPath 表单代码中使用 XPathNavigator 类的详细信息,请参阅如何:使用托管代码表单模板中的 System.Xml。

XmlForm 还提供可用于获取有关窗体及其基础 XML 文档的信息的其他属性。 另外,它还提供可用于执行各种表单操作的方法,如打印、保存和提交。 窗体级事件(例如加载窗体、切换视图或合并操作)由 FormEvents 类实现。 此外,由对基础 XML 文档本身的更改引发的事件由 XmlEvents 类实现。

XmlForm可以从 InfoPath 对象模型中的 和 Window 类访问 XmlFormCollection 对象。 下表列出了对象可用的这些位置 XmlForm

XmlFormCollection 使用 XmlForms 属性从 Application 对象访问。 Item[Int32]提供用于访问XmlForm它包含的对象的属性和Microsoft.Office.InfoPath.XmlFormCollection.Open方法。
Window XmlForm提供用于访问XmlForm与窗口关联的对象的 属性。

在 InfoPath 2003 兼容的托管代码对象模型中, (命名空间) 的类型和成员 Microsoft.Office.Interop.InfoPath.SemiTrust ,该命名空间最初在 InfoPath 2003 Service Pack 1 中引入,与 Microsoft Office InfoPath 2003 Toolkit for Visual Studio .NET 结合使用,以下类提供了 一个 XDocument 属性,用于在事件期间访问表单的基础 XML 文档: DataDOMEventObjectDocActionEventObjectDocEventObjectDocReturnEventObject、 和 VersionUpgradeEventObject 类。

在新的 InfoPath 托管代码对象模型中, (命名空间) 的类型和成员 Microsoft.Office.InfoPath ,可以使用 C#) 中的 (或 Visual Basic 中的 Me () 关键字从事件处理程序和表单模板业务逻辑中的其他代码访问 XmlForm 类及其成员。

构造函数

XmlForm()

代表表单的基础 XML 文档。

属性

CurrentView

获取一个 View 对象,该对象表示窗体的当前视图。

DataConnections

获取与 DataConnectionCollection 窗体关联的 对象。

DataSources

获取与 DataSourceCollection 窗体关联的 对象。

Dirty

获取或设置一个值,该值指示表单中的数据自上次保存之后是否被修改过。

Environment

获取一个 Environment 对象,该对象提供有关运行窗体 (InfoPath 编辑器、Web 浏览器或移动浏览器) 运行时环境的信息。

Errors

获取对 FormErrorCollection 与窗体关联的 的引用。

Extension

获取一个 Object ,用于使用 System.Reflection 访问窗体的主要表单代码文件中包含的函数和全局变量。

FormState

获取一个对 System.Collections.IDictionary 类型的属性包的引用,启用浏览器功能的表单可以使用该属性包来维护服务器上各个会话的状态信息。

Host

获取一个 System.Object,在 InfoPath 的宿主实例中运行的代码可以使用它访问宿主应用程序的对象模型。

Hosted

获取一个值,指示 InfoPath 是否作为控件承载在另一个应用程序中。

HostName

获取将 InfoPath 作为控件承载的应用程序的名称。

MainDataSource

获取一个 DataSource 对象,该对象表示窗体的主数据源。

NamespaceManager

获取对 对象的引用 XmlNamespaceManager ,该对象可用于解析、添加或删除窗体中使用的命名空间。

NetworkState

获取一个 NetworkState 对象,该对象提供有关客户端计算机的连接状态或是否可以与指定网络目标建立连接的信息。

New

获取一个指定表单是否为新表单的值。

Permission

获取对 Permission 与窗体关联的 对象的引用。

QueryDataConnection

获取对 对象的引用, DataConnection 该对象表示与窗体关联的数据连接。

ReadOnly

获取一个值,该值指示表单模板是否处于只读或锁定状态。

Recovered

获取一个值,该值指示表单上次是否是由自动恢复保存操作保存的。

ServerInfo

获取一个 ServerInfo 对象,该对象提供有关窗体所在的 SharePoint 服务器的信息。

Signed

获取一个值,该值指示是否已经对表单进行过数字签名。

SignedDataBlocks

获取对 SignedDataBlockCollection 与窗体关联的集合的引用。

TaskPanes

获取对 TaskPaneCollection 与表单模板关联的 的引用。

Template

获取对 对象的引用, FormTemplate 该对象表示与表单关联的表单模板的清单 (.xsf) 。

Uri

获取表单的统一资源标识符 (URI)。

User

获取一个 User 对象,该对象提供有关窗体的当前用户的信息。

UserRole

获取或设置表单角色名称的当前用户。

ViewInfos

获取对 ViewInfoCollection 与表单模板关联的 对象的引用。

XmlLang

获取或设置表单的基础 XML 文档中 xml:lang 属性的值。

方法

Close()

关闭表单。

GetWorkflowTasks()

获取一个对当前表单的 Microsoft.Office.Core.WorkflowTasks 集合的引用。

GetWorkflowTemplates()

获取一个对当前表单的 Microsoft.Office.Core.WorkflowTemplates 集合的引用。

MergeForm(String)

将当前表单与通过路径或 URL 指定的表单合并。

MergeForm(XPathNavigator)

将当前窗体与传递给 方法的 返回 XPathNavigator 的 节点中指定的目标表单合并。

NotifyHost(String)

为宿主应用程序或 ASPX 页提供自定义值。

Print()

按照表单内容在表单的活动视图中的显示效果打印表单内容。

Print(Boolean)

按照表单内容在表单的活动视图中的显示效果,通过显示“打印”对话框来打印表单内容。

Save()

将表单保存到当前关联的统一资源定位器 (URL)。

SaveAs(String)

将表单保存到指定的统一资源定位器 (URL)。

SetSaveAsDialogFilename(String)

设置“另存为”对话框的默认文件名。

SetSaveAsDialogLocation(String)

设置使用“另存为”对话框保存表单的默认路径。

Submit()

使用表单模板中定义的提交操作来提交表单。

适用于