次の方法で共有


ConfirmationType 列挙体

ContextNode オブジェクトで発生させることができる型確認を指定する値を定義します。

この列挙体には、メンバ値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。

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

構文

'宣言
<FlagsAttribute> _
Public Enumeration ConfirmationType
'使用
Dim instance As ConfirmationType
[FlagsAttribute]
public enum ConfirmationType
[FlagsAttribute]
public enum class ConfirmationType
/** @attribute FlagsAttribute */
public enum ConfirmationType
public enum ConfirmationType

メンバ

メンバ名 説明
None 確認が適用されないことを指定します。InkAnalyzer は、コンテキスト ノード、またはその子孫ノードのいずれかを必要に応じて自由に変更できます。
NodeTypeAndProperties InkAnalyzer が指定されたコンテキスト ノードの型またはプロパティを変更できないように指定します。
TopBoundary InkAnalyzer がインクの追加、他の ContextNode オブジェクトとのマージなどの操作を行わず、指定した ContextNode の一番上の境界が現在の一番上の境界を越えて移動するように指定します。

解説

InkWord 型および InkDrawing 型の ContextNode オブジェクトにのみ、NodeTypeAndProperties を使用できます。それ以外の場合は、InvalidOperationException がスローされます。

TopBoundary を使用して、インクの追加や他の ContextNode オブジェクトとのマージなどの操作を InkAnalyzer が実行しないようにします。それ以外の場合、ContextNode の一番上の境界は現在の境界を越えて移動して、ContextNode が拡張する可能性があります。たとえば、アプリケーションのユーザーが段落を書き込むとします。分析中、InkAnalyzer はその段落の ParagraphNode を作成します。次に、アプリケーションは Confirm を呼び出し、TopBoundary を渡すことができます。ユーザーが段落上に新しいインクを追加した場合、InkAnalyzer が新しいインクの分析を実行する際に、InkAnalyzer は確認された ParagraphNode に新しいインクを組み込みます。

ms610372.alert_note(ja-jp,VS.90).gifメモ :

TopBoundary の使用時に、ContextNode は継続して他の方向に拡張できます。ストロークを削除すると、ContextNode の一番上の境界を下に移動することができます。ContextNode を変換すると、場所を変えることができますが、追加のインクを新しい場所にマージすることはできません。

この TopBoundary は、段落ノードにのみ適用されます。

次の例では、ユーザーは正常に分析されているストロークを指定できます。この例は、theInkCanvas という名前の InkCanvas での PreviewMouseUp イベントのイベント ハンドラです。CheckBox、confirmMode がオンの場合、ユーザーは単語をクリックして確認します (または、ノードが既に確認済みの場合は確認を無効にします)。この例では、StrokeCollection.HitTest(Point) および FindNodesOfType を使用して、適切なノードを検索します。ノードが見つかったら、Confirm が呼び出されて確認が切り替えられます。最後に、確認されたノードと、PreviewMouseUp イベントが処理されることを示す TreeView が再構築されます。

Sub theInkCanvas_PreviewMouseDown(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)

    If Me.confirmMode.IsChecked Then

        ' Find the ink word nodes that correspond to those strokes
        Dim position As Point = e.GetPosition(theInkCanvas)
        Dim hitStrokes As StrokeCollection = theInkCanvas.Strokes.HitTest(position)

        Dim selectedNodes As ContextNodeCollection = _
            Me.theInkAnalyzer.FindNodesOfType(ContextNodeType.InkWord, _
            hitStrokes)

        ' Toggle the confirmation type on these nodes
        Dim selectedNode As ContextNode
        For Each selectedNode In selectedNodes
            If selectedNode.IsConfirmed(ConfirmationType.NodeTypeAndProperties) Then
                selectedNode.Confirm(ConfirmationType.None)
            Else
                selectedNode.Confirm(ConfirmationType.NodeTypeAndProperties)
            End If
        Next selectedNode

        ' Rebuild the TreeView to show which context nodes are confirmed.
        Me.BuildTree()

        ' Handle the MouseDown event to prevent the InkCanvas from
        ' selecting the stroke.
        e.Handled = True
    End If

End Sub 'theInkCanvas_PreviewMouseDown
void theInkCanvas_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    if ((bool)this.confirmMode.IsChecked)
    {
        // Find the ink word nodes that correspond to those strokes
        Point position = e.GetPosition(theInkCanvas);
        StrokeCollection hitStrokes = theInkCanvas.Strokes.HitTest(position);

        ContextNodeCollection selectedNodes =
            this.theInkAnalyzer.FindNodesOfType(ContextNodeType.InkWord,
            hitStrokes);

        // Toggle the confirmation type on these nodes
        foreach (ContextNode selectedNode in selectedNodes)
        {
            if (selectedNode.IsConfirmed(ConfirmationType.NodeTypeAndProperties))
            {
                selectedNode.Confirm(ConfirmationType.None);
            }
            else
            {
                selectedNode.Confirm(ConfirmationType.NodeTypeAndProperties);
            }
        }

        // Rebuild the TreeView to show which context nodes are confirmed.
        this.BuildTree();

        // Handle the MouseDown event to prevent the InkCanvas from
        // selecting the stroke.
        e.Handled = true;
    }
}

プラットフォーム

Windows Vista

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

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

System.Windows.Ink 名前空間

ContextNode.Confirm

ContextNodeIsNodeTypeAndPropertiesConfirmed()