InkAnalyzerBase.PopulateContextNodeBase-Ereignis
Tritt auf, bevor das Freihandanalysemodul die Analyse innerhalb des Bereichs eines teilweise aufgefüllten ContextNodeBase ausführt.
Namespace: System.Windows.Ink.AnalysisCore
Assembly: IACore (in IACore.dll)
Syntax
'Declaration
Public Event PopulateContextNodeBase As PopulateContextNodeBaseEventHandler
'Usage
Dim instance As InkAnalyzerBase
Dim handler As PopulateContextNodeBaseEventHandler
AddHandler instance.PopulateContextNodeBase, handler
public event PopulateContextNodeBaseEventHandler PopulateContextNodeBase
public:
event PopulateContextNodeBaseEventHandler^ PopulateContextNodeBase {
void add (PopulateContextNodeBaseEventHandler^ value);
void remove (PopulateContextNodeBaseEventHandler^ value);
}
/** @event */
public void add_PopulateContextNodeBase (PopulateContextNodeBaseEventHandler value)
/** @event */
public void remove_PopulateContextNodeBase (PopulateContextNodeBaseEventHandler value)
JScript unterstützt keine Ereignisse.
Hinweise
Verwenden Sie dieses Ereignis, wenn die Anwendung eine eigene Datenstruktur verwaltet, die mit der Datenstruktur von InkAnalyzerBase synchronisiert wird. Wenn das Freihandanalysemodul dieses Ereignis auslöst, sollte die Anwendung PopulateContextNodeBaseEventArgs.NodeToPopulate auffüllen. Während der Analysephase löst das Freihandanalysemodul dieses Ereignis aus, um Informationen für die Bereiche abzurufen, in denen Freihandeingaben zu analysieren sind.
Wenn das Dokument Links zu NodeToPopulate enthält, sollte die Anwendung diese Links erstellen und hinzufügen. Dieser Prozess erfordert es, dass sowohl der Quell- als auch der Zielknoten, einschließlich ihrer Vorgänger, vollständig aufgefüllt sind, bevor der Ereignishandler für dieses Ereignis existiert.
Weitere Informationen zum Synchronisieren von Anwendungsdaten mit InkAnalyzerBase finden Sie unter Data Proxy with Ink Analysis.
Das Freihandanalysemodul löst dieses Ereignis während der Hintergrundanalyse aus, nachdem es das ReadyToReconcileBase-Ereignis ausgelöst hat.
Beispiele
Im folgenden Beispiel wird die Methode AttachDataProxyEventHandlers definiert, die Datenproxyereignishandler an die InkAnalyzerBasebaseInkAnalyzer anfügt.
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);
}
Im folgenden Beispiel wird die PopulateContextNodeBase-Methode definiert, die das PopulateContextNodeBase-Ereignis behandelt. Die Ereignisinformationen werden an das Dokumentmodellobjekt baseDocumentModel übergeben.
Dieses Beispiel liefert nicht die Definition des Dokumentmodells und veranschaulicht nicht, wie die übergebenen Informationen verarbeitet werden.
''' <summary>
''' Handles the InkAnalyzerBase.PopulateContextNodeBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
''' <remarks>
''' This event handler fully populates a ContextNodeBase from the document model.
''' The InkAnalyzerBase calls this event handler when it accesses a partially
''' populated ContextNodeBase created by the document model.
''' </remarks>
Private Sub PopulateContextNodeBase( _
ByVal sender As Object, _
ByVal e As System.Windows.Ink.AnalysisCore.PopulateContextNodeBaseEventArgs)
Me.baseDocumentModel.PopulateNode( _
e.NodeToPopulate, CType(sender, System.Windows.Ink.AnalysisCore.InkAnalyzerBase))
End Sub 'PopulateContextNodeBase
/// <summary>
/// Handles the InkAnalyzerBase.PopulateContextNodeBase event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
/// <remarks>
/// This event handler fully populates a ContextNodeBase from the document model.
/// The InkAnalyzerBase calls this event handler when it accesses a partially
/// populated ContextNodeBase created by the document model.
/// </remarks>
private void PopulateContextNodeBase(
object sender, System.Windows.Ink.AnalysisCore.PopulateContextNodeBaseEventArgs e)
{
this.baseDocumentModel.PopulateNode(
e.NodeToPopulate,
(System.Windows.Ink.AnalysisCore.InkAnalyzerBase)sender);
}
Plattformen
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Versionsinformationen
.NET Framework
Unterstützt in: 3.0
Siehe auch
Referenz
System.Windows.Ink.AnalysisCore-Namespace
System.Windows.Ink.AnalysisCore.ContextNodeBase