InkAnalyzer.ResultsUpdated (Evento)
Actualización: noviembre 2007
Se produce una vez completada la última fase de análisis.
Espacio de nombres: System.Windows.Ink
Ensamblado: IAWinFX (en IAWinFX.dll)
Sintaxis
'Declaración
Public Event ResultsUpdated As ResultsUpdatedEventHandler
'Uso
Dim instance As InkAnalyzer
Dim handler As ResultsUpdatedEventHandler
AddHandler instance.ResultsUpdated, handler
public event ResultsUpdatedEventHandler ResultsUpdated
public:
event ResultsUpdatedEventHandler^ ResultsUpdated {
void add (ResultsUpdatedEventHandler^ value);
void remove (ResultsUpdatedEventHandler^ value);
}
/** @event */
public void add_ResultsUpdated (ResultsUpdatedEventHandler value)
/** @event */
public void remove_ResultsUpdated (ResultsUpdatedEventHandler value)
JScript no admite eventos.
Comentarios
InkAnalyzer provoca el evento ResultsUpdated después de que el evento concilie los resultados de la fase de análisis final.
Si la aplicación llama al método BackgroundAnalyze, este evento indica cuándo están listos los resultados del análisis.
Si la aplicación mantiene su propia estructura de datos sincronizada con la del objeto InkAnalyzer, el evento ResultsUpdated indica que InkAnalyzer ha terminado de realizar los cambios en los datos internos que requiere la fase de análisis actual.
Bloquee su estructura de datos cuando InkAnalyzer provoque el evento InkAnalyzerStateChanging. Los cambios que se produzcan en la estructura de datos durante esta fase de análisis pueden generar errores en el análisis de entrada manuscrita y la sincronización. Puede desbloquear la estructura de datos cuando InkAnalyzer provoque el evento IntermediateResults() o Results().
Para obtener más información sobre la sincronización entre los datos de la aplicación y InkAnalyzer, vea Data Proxy with Ink Analysis.
Ejemplos
En este ejemplo, se define un método denominado AttachDataProxyEventHandlers que asocia los controladores de eventos del proxy de datos a un objeto InkAnalyzer denominado theInkAnalyzer.
Private Sub AttachDataProxyEventHandlers()
' If the document model supports on demand data proxy, then add an
' event handler for the PopulateContextNode event. This event is raised
' when the InkAnalyzer accesses a partially populated ContextNode created
' by the document model.
If Me.theDocumentModel.SupportsOnDemandDataProxy Then
AddHandler Me.theInkAnalyzer.PopulateContextNode, AddressOf Me.PopulateContextNode
End If
' Add the other data proxy related event handlers. These events are raised
' by the InkAnalyzer to communicate ink analysis results to the document model.
AddHandler Me.theInkAnalyzer.ContextNodeCreated, AddressOf Me.AddContextNode
AddHandler Me.theInkAnalyzer.ContextNodeDeleting, AddressOf Me.RemoveContextNode
AddHandler Me.theInkAnalyzer.ContextNodeLinkAdding, AddressOf Me.AddContextNodeLink
AddHandler Me.theInkAnalyzer.ContextNodeLinkDeleting, AddressOf Me.RemoveContextNodeLink
AddHandler Me.theInkAnalyzer.ContextNodeMovingToPosition, AddressOf Me.MoveContextNodeToPosition
AddHandler Me.theInkAnalyzer.ContextNodePropertiesUpdated, AddressOf Me.UpdateContextNodeProperties
AddHandler Me.theInkAnalyzer.ContextNodeReparenting, AddressOf Me.ReparentContextNode
AddHandler Me.theInkAnalyzer.InkAnalyzerStateChanging, AddressOf Me.InkAnalyzer_StateChanging
AddHandler Me.theInkAnalyzer.StrokesReparented, AddressOf Me.ReparentStrokes
AddHandler Me.theInkAnalyzer.IntermediateResultsUpdated, AddressOf Me.ResultsAvailable
AddHandler Me.theInkAnalyzer.ResultsUpdated, AddressOf Me.ResultsAvailable
End Sub 'AttachDataProxyEventHandlers
private void AttachDataProxyEventHandlers()
{
// If the document model supports on demand data proxy, then add an
// event handler for the PopulateContextNode event. This event is raised
// when the InkAnalyzer accesses a partially populated ContextNode created
// by the document model.
if (this.theDocumentModel.SupportsOnDemandDataProxy)
{
this.theInkAnalyzer.PopulateContextNode +=
new PopulateContextNodeEventHandler(
this.PopulateContextNode);
}
// Add the other data proxy related event handlers. These events are raised
// by the InkAnalyzer to communicate ink analysis results to the document model.
this.theInkAnalyzer.ContextNodeCreated +=
new ContextNodeCreatedEventHandler(
this.AddContextNode);
this.theInkAnalyzer.ContextNodeDeleting +=
new ContextNodeDeletingEventHandler(
this.RemoveContextNode);
this.theInkAnalyzer.ContextNodeLinkAdding +=
new ContextNodeLinkAddingEventHandler(
this.AddContextNodeLink);
this.theInkAnalyzer.ContextNodeLinkDeleting +=
new ContextNodeLinkDeletingEventHandler(
this.RemoveContextNodeLink);
this.theInkAnalyzer.ContextNodeMovingToPosition +=
new ContextNodeMovingToPositionEventHandler(
this.MoveContextNodeToPosition);
this.theInkAnalyzer.ContextNodePropertiesUpdated +=
new ContextNodePropertiesUpdatedEventHandler(
this.UpdateContextNodeProperties);
this.theInkAnalyzer.ContextNodeReparenting +=
new ContextNodeReparentingEventHandler(
this.ReparentContextNode);
this.theInkAnalyzer.InkAnalyzerStateChanging +=
new InkAnalyzerStateChangingEventHandler(
this.InkAnalyzer_StateChanging);
this.theInkAnalyzer.StrokesReparented +=
new StrokesReparentedEventHandler(
this.ReparentStrokes);
this.theInkAnalyzer.IntermediateResultsUpdated +=
new ResultsUpdatedEventHandler(
this.ResultsAvailable);
this.theInkAnalyzer.ResultsUpdated +=
new ResultsUpdatedEventHandler(
this.ResultsAvailable);
}
En el ejemplo siguiente se define el método, ResultsAvailable, que controla los eventos IntermediateResults() y Results(). La información del evento se pasa al objeto del modelo de documento, que se denomina theDocumentModel.
En este ejemplo no se proporciona la definición del modelo de documento ni se muestra cómo procesa la información que se le pasa.
'/ <summary>
'/ Handles the InkAnalyzer.Results and InkAnalyzer.IntermediateResults events.
'/ </summary>
'/ <param name="sender">The source of the event.</param>
'/ <param name="e">The event data.</param>
Private Sub ResultsAvailable(ByVal sender As Object, ByVal e As ResultsUpdatedEventArgs)
Me.theDocumentModel.ResultsAvailable(CType(sender, InkAnalyzer))
End Sub 'ResultsAvailable
/// <summary>
/// Handles the InkAnalyzer.Results and InkAnalyzer.IntermediateResults events.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void ResultsAvailable(
object sender, ResultsUpdatedEventArgs e)
{
this.theDocumentModel.ResultsAvailable(
(InkAnalyzer)sender);
}
Plataformas
Windows Vista
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión
.NET Framework
Compatible con: 3.0
Vea también
Referencia
System.Windows.Ink (Espacio de nombres)
InkAnalyzer.InkAnalyzerStateChanging
InkAnalyzerIntermediateResults()