InkAnalyzerBase.StrokesReparentedBase 事件
在 InkAnalyzerBase 在 ContextNodeBase 之间移动笔画时发生。
命名空间: System.Windows.Ink.AnalysisCore
程序集: IACore(在 IACore.dll 中)
语法
声明
Public Event StrokesReparentedBase As StrokesReparentedBaseEventHandler
用法
Dim instance As InkAnalyzerBase
Dim handler As StrokesReparentedBaseEventHandler
AddHandler instance.StrokesReparentedBase, handler
public event StrokesReparentedBaseEventHandler StrokesReparentedBase
public:
event StrokesReparentedBaseEventHandler^ StrokesReparentedBase {
void add (StrokesReparentedBaseEventHandler^ value);
void remove (StrokesReparentedBaseEventHandler^ value);
}
/** @event */
public void add_StrokesReparentedBase (StrokesReparentedBaseEventHandler value)
/** @event */
public void remove_StrokesReparentedBase (StrokesReparentedBaseEventHandler value)
JScript 不支持事件。
备注
如果您的应用程序维护其自己的数据结构(该数据结构与 InkAnalyzerBase 的数据结构同步),请使用此事件。在墨迹分析的协调阶段中,或是在响应在 ContextNodeBase 之间移动笔画的 InkAnalyzerBase 方法时,将发生此事件。
有关将应用程序数据与 InkAnalyzerBase 同步的更多信息,请参见Data Proxy with Ink Analysis。
示例
此示例定义 AttachDataProxyEventHandlers 方法,该方法将数据代理事件处理程序附加到 InkAnalyzerBase (baseInkAnalyzer)。
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);
}
下面的示例定义 ReparentStrokes 方法,用以处理 StrokesReparentedBase 事件。事件信息将传递给文档模型对象 theDocumentModel。
此示例不提供文档模型的定义,也不演示文档模型如何处理传入的信息。
''' <summary>
''' Handles the InkAnalyzerBase.StrokeReparentedBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub ReparentStroke( _
ByVal sender As Object, _
ByVal e As System.Windows.Ink.AnalysisCore.StrokesReparentedBaseEventArgs)
For Each strokeId As Integer In e.ReparentedStrokes
Me.baseDocumentModel.ReparentStroke( _
strokeId, _
e.SourceNode, _
e.DestinationNode, _
CType(sender, System.Windows.Ink.AnalysisCore.InkAnalyzerBase))
Next
End Sub 'ReparentStroke
/// <summary>
/// Handles the InkAnalyzerBase.StrokeReparentedBase event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void ReparentStroke(
object sender, System.Windows.Ink.AnalysisCore.StrokesReparentedBaseEventArgs e)
{
foreach (int strokeId in e.ReparentedStrokes)
{
this.baseDocumentModel.ReparentStroke(
strokeId, e.SourceNode, e.DestinationNode,
(System.Windows.Ink.AnalysisCore.InkAnalyzerBase)sender);
}
}
平台
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
版本信息
.NET Framework
受以下版本支持:3.0