インク アナライザが ContextNodeBase を作成した後に発生します。
名前空間 : System.Windows.Ink.AnalysisCore
アセンブリ : IACore (IACore.dll 内)
構文
'宣言
Public Event ContextNodeCreatedBase As ContextNodeCreatedBaseEventHandler
'使用
Dim instance As InkAnalyzerBase
Dim handler As ContextNodeCreatedBaseEventHandler
AddHandler instance.ContextNodeCreatedBase, handler
public event ContextNodeCreatedBaseEventHandler ContextNodeCreatedBase
public:
event ContextNodeCreatedBaseEventHandler^ ContextNodeCreatedBase {
void add (ContextNodeCreatedBaseEventHandler^ value);
void remove (ContextNodeCreatedBaseEventHandler^ value);
}
/** @event */
public void add_ContextNodeCreatedBase (ContextNodeCreatedBaseEventHandler value)
/** @event */
public void remove_ContextNodeCreatedBase (ContextNodeCreatedBaseEventHandler value)
JScript では、イベントは使用できません。
解説
このイベントは、アプリケーションが InkAnalyzerBase のデータ構造と同期されている独自のデータ構造を保持している場合に使用します。このイベントは、インク分析の調整段階で、または ContextNodeBase を作成するインク アナライザ メソッドへの応答として発生します。
インク アナライザがコンテキスト ノードを作成した場合、新しいコンテキスト ノードにはストロークが含まれず、他のコンテキスト ノードへのリンクも含まれません。また、そのプロパティの一部が設定されないことがあります。さらに、新しいコンテキスト ノードがその親の SubNodes コレクションの末尾に追加されます。このイベントの後、インク アナライザは次のイベントを発生させます。
あるコンテキストから別のコンテキストにストロークを移動した場合は、StrokesReparentedBase イベント。
ContextLinkBase をコンテキスト ノードに追加した場合は、ContextNodeLinkAddingBase イベント。
親ノードの SubNodes コレクション内でコンテキスト ノードの順序を変更した場合は、ContextNodeMovingToPositionBase イベント。
インク アナライザは、この分析段階のコンテキスト ノードの状態を解決した後、ContextNodePropertiesUpdatedBase イベントを発生させます。
アプリケーション データと InkAnalyzerBase の同期の詳細については、「Data Proxy with Ink Analysis」を参照してください。
例
次の例では、データ プロキシ イベント ハンドラを InkAnalyzerBase、baseInkAnalyzer にアタッチする AttachDataProxyEventHandlers メソッドを定義します。
Private Sub AttachDataProxyEventHandlers()
' If the document model supports on demand data proxy, then add an
' event handler for the PopulateContextNodeBase event. This event is raised
' when the InkAnalyzerBase accesses a partially populated ContextNodeBase
' created by the document model.
If Me.baseDocumentModel.SupportsOnDemandDataProxy Then
AddHandler Me.baseInkAnalyzer.PopulateContextNodeBase, AddressOf Me.PopulateContextNodeBase
End If
' Add the other data proxy related event handlers. These events are raised
' by the InkAnalyzer to communicate parsing results to the document model.
AddHandler Me.baseInkAnalyzer.ContextNodeCreatedBase, _
AddressOf Me.AddContextNodeBase
AddHandler Me.baseInkAnalyzer.ContextNodeDeletingBase, _
AddressOf Me.RemoveContextNodeBase
AddHandler Me.baseInkAnalyzer.ContextNodeLinkAddingBase, _
AddressOf Me.AddContextNodeLinkBase
AddHandler Me.baseInkAnalyzer.ContextNodeLinkDeletingBase, _
AddressOf Me.RemoveContextNodeLinkBase
AddHandler Me.baseInkAnalyzer.ContextNodeMovingToPositionBase, _
AddressOf Me.MoveContextNodeBaseToPosition
AddHandler Me.baseInkAnalyzer.ContextNodePropertiesUpdatedBase, _
AddressOf Me.UpdateContextNodeBaseProperties
AddHandler Me.baseInkAnalyzer.ContextNodeReparentingBase, _
AddressOf Me.ReparentContextNodeBase
AddHandler Me.baseInkAnalyzer.InkAnalyzerStateChangingBase, _
AddressOf Me.InkAnalyzerBase_StateChanging
AddHandler Me.baseInkAnalyzer.StrokesReparentedBase, _
AddressOf Me.ReparentStroke
AddHandler Me.baseInkAnalyzer.IntermediateResultsUpdatedBase, _
AddressOf Me.BaseResultsAvailable
AddHandler Me.baseInkAnalyzer.ResultsUpdatedBase, _
AddressOf Me.BaseResultsAvailable
End Sub 'AttachDataProxyEventHandlers
private void AttachDataProxyEventHandlers()
{
// If the document model supports on demand data proxy, then add an
// event handler for the PopulateContextNodeBase event. This event is raised
// when the InkAnalyzerBase accesses a partially populated ContextNodeBase
// created by the document model.
if (this.baseDocumentModel.SupportsOnDemandDataProxy)
{
this.baseInkAnalyzer.PopulateContextNodeBase +=
new System.Windows.Ink.AnalysisCore.PopulateContextNodeBaseEventHandler(
this.PopulateContextNodeBase);
}
// Add the other data proxy related event handlers. These events are raised
// by the InkAnalyzer to communicate parsing results to the document model.
this.baseInkAnalyzer.ContextNodeCreatedBase +=
new System.Windows.Ink.AnalysisCore.ContextNodeCreatedBaseEventHandler(
this.AddContextNodeBase);
this.baseInkAnalyzer.ContextNodeDeletingBase +=
new System.Windows.Ink.AnalysisCore.ContextNodeDeletingBaseEventHandler(
this.RemoveContextNodeBase);
this.baseInkAnalyzer.ContextNodeLinkAddingBase +=
new System.Windows.Ink.AnalysisCore.ContextNodeLinkAddingBaseEventHandler(
this.AddContextNodeLinkBase);
this.baseInkAnalyzer.ContextNodeLinkDeletingBase +=
new System.Windows.Ink.AnalysisCore.ContextNodeLinkDeletingBaseEventHandler(
this.RemoveContextNodeLinkBase);
this.baseInkAnalyzer.ContextNodeMovingToPositionBase +=
new System.Windows.Ink.AnalysisCore.ContextNodeMovingToPositionBaseEventHandler(
this.MoveContextNodeBaseToPosition);
this.baseInkAnalyzer.ContextNodePropertiesUpdatedBase +=
new System.Windows.Ink.AnalysisCore.ContextNodePropertiesUpdatedBaseEventHandler(
this.UpdateContextNodeBaseProperties);
this.baseInkAnalyzer.ContextNodeReparentingBase +=
new System.Windows.Ink.AnalysisCore.ContextNodeReparentingBaseEventHandler(
this.ReparentContextNodeBase);
this.baseInkAnalyzer.InkAnalyzerStateChangingBase +=
new System.Windows.Ink.AnalysisCore.InkAnalyzerStateChangingBaseEventHandler(
this.InkAnalyzerBase_StateChanging);
this.baseInkAnalyzer.StrokesReparentedBase +=
new System.Windows.Ink.AnalysisCore.StrokesReparentedBaseEventHandler(
this.ReparentStroke);
this.baseInkAnalyzer.IntermediateResultsUpdatedBase +=
new System.Windows.Ink.AnalysisCore.ResultsUpdatedBaseEventHandler(
this.BaseResultsAvailable);
this.baseInkAnalyzer.ResultsUpdatedBase +=
new System.Windows.Ink.AnalysisCore.ResultsUpdatedBaseEventHandler(
this.BaseResultsAvailable);
}
次の例では、ContextNodeCreatedBase イベントを処理する AddContextNodeBase メソッドを定義します。イベント情報が、ドキュメント モデル オブジェクト baseDocumentModel に渡されます。
この例では、ドキュメント モデルを定義したり、ドキュメント モデルが渡された情報を処理する方法を示したりはしません。
''' <summary>
''' Handles the InkAnalyzerBase.ContextNodeCreatedBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
''' <remarks>
''' Note: when this event is fired, the ContextNodeBase has not been populated
''' with extended and other properties. Handle the ContextNodePropertiesUpdatedBase
''' event to populate the corresponding ContextNodeBase in the document model.
''' </remarks>
Private Sub AddContextNodeBase( _
ByVal sender As Object, _
ByVal e As System.Windows.Ink.AnalysisCore.ContextNodeCreatedBaseEventArgs)
' Do not add unclassified ink nodes to the document model.
If System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.UnclassifiedInk <> e.NodeCreated.Type Then
Me.baseDocumentModel.AddNode(e.NodeCreated)
End If
End Sub 'AddContextNodeBase
/// <summary>
/// Handles the InkAnalyzerBase.ContextNodeCreatedBase event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
/// <remarks>
/// Note: when this event is fired, the ContextNodeBase has not been populated
/// with extended and other properties. Handle the ContextNodePropertiesUpdatedBase
/// event to populate the corresponding ContextNodeBase in the document model.
/// </remarks>
private void AddContextNodeBase(
object sender, System.Windows.Ink.AnalysisCore.ContextNodeCreatedBaseEventArgs e)
{
// Do not add unclassified ink nodes to the document model.
if (System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.UnclassifiedInk
!= e.NodeCreated.Type)
{
this.baseDocumentModel.AddNode(e.NodeCreated);
}
}
プラットフォーム
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
System.Windows.Ink.AnalysisCore 名前空間
InkAnalyzerBase.ContextNodeDeletingBase
InkAnalyzerBase.ContextNodeLinkAddingBase
InkAnalyzerBase.ContextNodeMovingToPositionBase