インク アナライザが分析結果を調整して、アプリケーションがデータをインク アナライザと同期できるようにする前に発生します。
名前空間 : System.Windows.Ink.AnalysisCore
アセンブリ : IACore (IACore.dll 内)
構文
'宣言
Public Event InkAnalyzerStateChangingBase As InkAnalyzerStateChangingBaseEventHandler
'使用
Dim instance As InkAnalyzerBase
Dim handler As InkAnalyzerStateChangingBaseEventHandler
AddHandler instance.InkAnalyzerStateChangingBase, handler
public event InkAnalyzerStateChangingBaseEventHandler InkAnalyzerStateChangingBase
public:
event InkAnalyzerStateChangingBaseEventHandler^ InkAnalyzerStateChangingBase {
void add (InkAnalyzerStateChangingBaseEventHandler^ value);
void remove (InkAnalyzerStateChangingBaseEventHandler^ value);
}
/** @event */
public void add_InkAnalyzerStateChangingBase (InkAnalyzerStateChangingBaseEventHandler value)
/** @event */
public void remove_InkAnalyzerStateChangingBase (InkAnalyzerStateChangingBaseEventHandler value)
JScript では、イベントは使用できません。
解説
このイベントは、アプリケーションが InkAnalyzerBase のデータ構造と同期されている独自のデータ構造を保持している場合に使用します。インク アナライザがこのイベントを発生させると、アプリケーションは InkAnalyzerBase オブジェクトの RootNode の SubNodes プロパティを設定する必要があります。
インク アナライザは、ReadyToReconcileBase イベントを発生させた後にこのイベントを発生させます。このイベントを発生させるのは、バックグラウンド分析を実行しているときのみです。
インク アナライザが InkAnalyzerStateChangingBase イベントを発生させる場合は、データ構造をロックします。分析のこの段階でデータ構造に変更を加えると、インク分析および同期でエラーが発生することがあります。インク アナライザが IntermediateResultsUpdatedBase イベントまたは ResultsUpdatedBase イベントを発生させる場合は、データ構造のロックを解除します。
アプリケーション データと 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);
}
次の例では、InkAnalyzerStateChangingBase イベントを処理する InkAnalyzerBase_StateChanging メソッドを定義します。イベント情報が、ドキュメント モデル オブジェクト baseDocumentModel に渡されます。
この例では、ドキュメント モデルを定義したり、ドキュメント モデルが渡された情報を処理する方法を示したりはしません。
''' <summary>
''' Handles the InkAnalyzerBase.InkAnalyzerStateChangingBase event.
''' </summary>
''' <param name="sender">The source of the event.</param>
''' <param name="e">The event data.</param>
Private Sub InkAnalyzerBase_StateChanging( _
ByVal sender As Object, ByVal e As System.EventArgs)
Me.baseDocumentModel.BeginReconcilePhase()
End Sub 'InkAnalyzerBase_StateChanging
/// <summary>
/// Handles the InkAnalyzerBase.InkAnalyzerStateChangingBase event.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The event data.</param>
private void InkAnalyzerBase_StateChanging(
object sender, System.EventArgs e)
{
this.baseDocumentModel.BeginReconcilePhase();
}
プラットフォーム
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
System.Windows.Ink.AnalysisCore 名前空間
InkAnalyzerBase.BackgroundAnalyze
InkAnalyzerBase.IntermediateResultsUpdatedBase
InkAnalyzerBase.PopulateContextNodeBase