Поделиться через


Класс XmlForm

Представляет связанный XML-документ в форме.

Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)

Синтаксис

'Декларация
Public MustInherit Class XmlForm
'Применение
Dim instance As XmlForm
public abstract class XmlForm

Заметки

Класс XmlForm является основным объектом объектной модели управляемого кода в InfoPath, предоставляющим свойства, методы и события, которые могут использоваться для программного и ручного управления XML-данными в связанном с ним XML-документе в форме. Класс XmlForm больше всего соответствует объекту XDocument объектной модели сценариев (COM) InfoPath и объектной модели, совместимой с InfoPath 2003 (Microsoft.Office.InfoPath.SemiTrust).

Хотя к объектам XmlForm можно обращаться из класса XmlFormCollection с помощью свойства XmlForms класса Application, в большинстве случаев, при работе с бизнес-логикой шаблона формы, доступ классу XmlForm и его членам можно получить с помощью ключевых слов this (в C#) или Me (в Visual Basic) без прохождения коллекции.

Например, в следующих кодах обработчиков событий для события Loading используется ключевое слово this или Me для доступа к свойствам MainDataSource и NamespaceManager класса XmlForm. Эти свойства применяются к экземпляру класса 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
ЗаметкаЗаметка

Нет необходимости явно указывать ключевые словаthis или Me для доступа к членам класса XmlForm в коде формы. Например, строки кода для доступа к свойству MainDataSource в предыдущих примерах C# и Visual Basic могут быть написаны следующим образом:

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

При работе с управляемым кодом доступ к XML-данным источника осуществляется с помощью свойства MainDataSource, которое возвращает экземпляр класса DataSource, представляющий основной источник данных формы. Затем используется метод CreateNavigator класса DataSource для создания экземпляра класса System.Xml.XPath.XPathNavigator, который размещен в корне связанного с ним XML-документа формы. Члены класса XPathNavigator затем могут использоваться для навигации по данным формы, их чтения и записи. Дополнительные сведения об использовании класса XPathNavigator в коде формы InfoPath см. в разделе Практическое руководство. Работа с классами XPathNavigator и XPathNodeIterator.

Класс XmlForm предоставляет дополнительные свойства, которые можно использовать для получения сведений о форме и связанном с ней XML-документе. Также он обеспечивает методы, которые можно использовать для выполнения различных действий с формой, таких как печать, сохранение и отправка. В то время как в объектной модели сценария (COM) объект XDocument реализует события уровня формы, в объектной модели управляемого кода события уровня формы, такие как загрузка формы, переключение представлений или операция слияния, реализуются классом FormEvents. Кроме того, события, вызванные изменениями в самом XML-документе, реализуются классом XmlEvents

К объекту XmlForm можно обратиться из классов XmlFormCollection и Window в объектной модели InfoPath. В следующей таблице приведены местоположения, в которых доступен объект XmlForm.

Имя

Описание

XmlFormCollection

Доступ из объекта Application с помощью свойства XmlForms. Предоставляет свойство Item и метод Open для доступа к объектам XmlForm, которые его содержат.

Window

Предоставляет свойство XmlForm для доступа к объекту XmlForm, связанному с этим окном.

В объектной модели управляемого кода, совместимой с InfoPath 2003 (типы и члены пространства имен Microsoft.Office.Interop.InfoPath.SemiTrust), которая впервые была введена в InfoPath 2003 с пакетом обновления 1 вместе с Microsoft Office InfoPath 2003 Toolkit для Visual Studio .NET, свойство XDocument для доступа к связанному XML-документу формы во время событий предоставляли следующие классы: DataDOMEventObject, DocActionEventObject, DocEventObject, DocReturnEventObject и VersionUpgradeEventObject.

В новой объектной модели управляемого кода InfoPath (типы и члены пространства имен Microsoft.Office.InfoPath) используется ключевое слово this (в C#) или Me (в Visual Basic) для доступа к классу XmlForm и его членам из обработчиков событий и из другого кода в бизнес-логике шаблона формы.

Иерархия наследования

System.Object
  Microsoft.Office.InfoPath.XmlForm

Безопасность потока

Все открытые статические (Общие в Visual Basic) члены этого типа потокобезопасны. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылка

Члены XmlForm
Пространство имен Microsoft.Office.InfoPath