InkAnalyzerBase.ContextNodeDeletingBase 事件
在筆墨分析器刪除 ContextNodeBase 之前發生。
命名空間: System.Windows.Ink.AnalysisCore
組件: IACore (在 IACore.dll 中)
語法
'宣告
Public Event ContextNodeDeletingBase As ContextNodeDeletingBaseEventHandler
'用途
Dim instance As InkAnalyzerBase
Dim handler As ContextNodeDeletingBaseEventHandler
AddHandler instance.ContextNodeDeletingBase, handler
public event ContextNodeDeletingBaseEventHandler ContextNodeDeletingBase
public:
event ContextNodeDeletingBaseEventHandler^ ContextNodeDeletingBase {
void add (ContextNodeDeletingBaseEventHandler^ value);
void remove (ContextNodeDeletingBaseEventHandler^ value);
}
/** @event */
public void add_ContextNodeDeletingBase (ContextNodeDeletingBaseEventHandler value)
/** @event */
public void remove_ContextNodeDeletingBase (ContextNodeDeletingBaseEventHandler value)
JScript 不支援事件。
備註
當您的應用程式維護本身的資料結構時使用這個事件,該資料結構會與 InkAnalyzerBase 的資料結構同步處理。這個事件會在筆墨分析的協調階段,或是回應刪除 ContextNodeBase 的筆墨分析器方法時發生。
在筆墨分析器刪除內容節點之前,分析器會從內容節點移除所有筆劃,並且移除其他內容節點的所有連結。在移除內容節點之前,InkAnalyzerBase 會引發下列事件。
從 ContextNodeBase 移動筆劃時,會引發 StrokesReparentedBase 事件。
從內容節點移除 ContextLinkBase 之前,會引發 ContextNodeLinkDeletingBase 事件。
在移除不再有子節點的父代內容節點之前,會引發 ContextNodeDeletingBase 事件。
如需將應用程式資料與 InkAnalyzerBase 進行同步處理的詳細資訊,請參閱Data Proxy with Ink Analysis。
範例
下列範例會定義 AttachDataProxyEventHandlers 方法,將資料 Proxy 事件處理常式附加至 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);
}
下列範例會定義用來處理 ContextNodeDeletingBase 事件的 RemoveContextNodeBase 方法。事件資訊會傳遞至 baseDocumentModel 文件模型物件。
這個範例並未提供文件模型的定義,也未示範處理傳入資訊的方式。
''' <summary>
''' Handles the InkAnalyzerBase.ContextNodeDeletingBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub RemoveContextNodeBase( _
ByVal sender As Object, _
ByVal e As System.Windows.Ink.AnalysisCore.ContextNodeDeletingBaseEventArgs)
' Do not remove unclassified ink nodes from the document model.
If System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.UnclassifiedInk <> e.NodeToBeDeleted.Type Then
Me.baseDocumentModel.RemoveNode(e.NodeToBeDeleted)
End If
End Sub 'RemoveContextNodeBase
/// <summary>
/// Handles the InkAnalyzerBase.ContextNodeDeletingBase event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void RemoveContextNodeBase(
object sender, System.Windows.Ink.AnalysisCore.ContextNodeDeletingBaseEventArgs e)
{
// Do not remove unclassified ink nodes from the document model.
if (System.Windows.Ink.AnalysisCore.ContextNodeTypeBase.UnclassifiedInk
!= e.NodeToBeDeleted.Type)
{
this.baseDocumentModel.RemoveNode(e.NodeToBeDeleted);
}
}
平台
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求。
版本資訊
.NET Framework
支援版本:3.0
請參閱
參考
System.Windows.Ink.AnalysisCore 命名空間
InkAnalyzerBase.ContextNodeCreatedBase
InkAnalyzerBase.ContextNodeLinkAddingBase