次の方法で共有


XmlEvents クラス

フォーム テンプレートに対するすべての XmlEvent イベントのコレクション。

名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)

構文

'宣言
<DefaultMemberAttribute("Item")> _
Public MustInherit Class XmlEvents
'使用
Dim instance As XmlEvents
[DefaultMemberAttribute("Item")] 
public abstract class XmlEvents

コメント

マネージ コード フォーム テンプレートでは、FormCode クラスの先頭にある InternalStartup メソッドで、XmlEvents コレクションと XmlEvent クラスを使用して、ドキュメント ベースのイベント (フォームの基になる XML ドキュメントのフィールドまたはグループに対する Changed イベントなど) をイベント ハンドラにバインドします。実行時には、フォーム テンプレートを開くと InternalStartup メソッドが実行されて、すべてのイベント ハンドラのバインドが初期化されます。

メモ重要 :

InternalStartup メソッドとメソッド内のイベント バインド コードは、ユーザー インターフェイスのさまざまなコマンドを使用してイベント ハンドラを追加すると、InfoPath によって生成されます。自分で InternalStartup メソッドを作成したり、メソッド内にコードを追加したりしないでください。インターフェイス コマンドを使用してイベント ハンドラを追加する方法については、「[方法] イベント ハンドラを追加する方法」を参照してください。

次の例では、InfoPath によって InternalStartup メソッドに生成されるコードを示します。このコードは、XmlEvents クラスの XmlEvents.Item(String) プロパティを使用して、フォームの基になる XML ドキュメントのフィールドに関連付けられる Validating イベントのイベント ハンドラをバインドします。また、Categories というセカンダリ データ ソースの CategoryName 列にバインドされるフィールドの Changed イベントに対して生成される、XmlEvents クラスの XmlEvents.Item(String,String) プロパティを使用したコードも示されています。

public void InternalStartup()
{
   EventManager.XmlEvents["/my:myFields/my:field1"].Validating 
      += new XmlChangedEventHandler(field1_Validating);
   EventManager.XmlEvents[
      "/dfs:myFields/dfs:dataFields/d:Categories/@CategoryName", 
      "Categories"].Changed 
      += new XmlChangedEventHandler(
      Categories__CategoryName_attr_Changed);
}
Private Sub InternalStartup(ByVal sender As Object, _
   ByVal e As EventArgs) Handles Me.Startup
   AddHandler EventManager.XmlEvents( _
      "/my:myFields/my:field1").Validating, _
      AddressOf field2_Validating
   AddHandler EventManager.XmlEvents( _
      "/dfs:myFields/dfs:dataFields/d:Categories/@CategoryName", _
      "Categories").Changed, _
      AddressOf Categories__CategoryName_attr_Changed
End Sub

継承階層

System.Object
  Microsoft.Office.InfoPath.XmlEvents

スレッド セーフ

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

関連項目

参照

XmlEvents のメンバ
Microsoft.Office.InfoPath 名前空間