次の方法で共有


InkAnalyzer.AddStroke メソッド (Stroke)

StrokeInkAnalyzer に追加し、アクティブな入力スレッドのロケール識別子をストロークに割り当てます。

名前空間 :  System.Windows.Ink
アセンブリ :  IAWinFX (IAWinFX.dll 内)

構文

'宣言
Public Function AddStroke ( _
    strokeToAdd As Stroke _
) As ContextNode
'使用
Dim instance As InkAnalyzer
Dim strokeToAdd As Stroke
Dim returnValue As ContextNode

returnValue = instance.AddStroke(strokeToAdd)
public ContextNode AddStroke(
    Stroke strokeToAdd
)
public:
ContextNode^ AddStroke(
    Stroke^ strokeToAdd
)
public ContextNode AddStroke(
    Stroke strokeToAdd
)
public function AddStroke(
    strokeToAdd : Stroke
) : ContextNode

パラメータ

戻り値

型 : System.Windows.Ink.ContextNode
strokeToAdd が追加された ContextNode

解説

InkAnalyzer は、StrokeRootNode プロパティの SubNodes コレクション内の UnclassifiedInkNode に追加します。Stroke、strokeToAdd に、アクティブな入力スレッドで使用されるものと同じロケール識別子を割り当てます。その後、Stroke を、同じロケール識別子で識別されるストロークを格納する最初の UnclassifiedInkNode に追加します。そのような UnclassifiedInkNode が存在しない場合、新しい UnclassifiedInkNode が作成され、strokeToAdd が新しい UnclassifiedInkNode に追加されます。

このメソッドは、DirtyRegion を、領域の現在の値と追加されたストロークの境界ボックスの結合に拡張します。

ストロークが既に InkAnalyzer に結合されている場合、InkAnalyzer は例外をスローします。

次の例では、新しい InkAnalyzer を作成し、StrokesChanged イベント ハンドラを、theInkCanvas という名前の InkCanvasStrokes プロパティに結合します。

theInkAnalyzer = New InkAnalyzer()

AddHandler theInkCanvas.Strokes.StrokesChanged, AddressOf Strokes_StrokesChanged
theInkAnalyzer = new InkAnalyzer();

theInkCanvas.Strokes.StrokesChanged += 
    new StrokeCollectionChangedEventHandler(Strokes_StrokesChanged);

次の例では、Strokes_StrokesChanged イベント ハンドラを定義します。このイベント ハンドラは、ストロークが既に theInkCanvas に追加されていた場合は、ストロークを theInkAnalyzer に追加します。また、ストロークが既に theInkCanvas から削除されていた場合は、theInkAnalyzer, からストロークを削除します。

' This event occurs whenever a stroke is added, removed, or partially erased
' from the InkCanvas.
Sub Strokes_StrokesChanged(ByVal sender As Object, ByVal e As StrokeCollectionChangedEventArgs) 
    If e.Added.Count > 0 Then
        theInkAnalyzer.AddStrokes(e.Added)
    End If

    If e.Removed.Count > 0 Then
        theInkAnalyzer.RemoveStrokes(e.Removed)
    End If

End Sub 'Strokes_StrokesChanged
// This event occurs whenever a stroke is added, removed, or partially erased
// from the InkCanvas.
void Strokes_StrokesChanged(object sender, StrokeCollectionChangedEventArgs e)
{
    if (e.Added.Count > 0)
    {
        theInkAnalyzer.AddStrokes(e.Added);
    }

    if (e.Removed.Count > 0)
    {
        theInkAnalyzer.RemoveStrokes(e.Removed);
    }
}

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

InkAnalyzer クラス

InkAnalyzer メンバ

AddStroke オーバーロード

System.Windows.Ink 名前空間

InkAnalyzer.AddStrokes

InkAnalyzerRemoveStroke()

InkAnalyzerRemoveStrokes()