다음을 통해 공유


ConfirmationType 열거형

업데이트: 2007년 11월

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 지정된 ContextNode의 위쪽 경계가 현재의 위쪽 경계를 넘어설 수 있게 하는 잉크 추가 및 다른 ContextNode 개체와의 병합을 포함한 작업을 InkAnalyzer가 수행하지 않도록 지정합니다.

설명

NodeTypeAndProperties는 InkWordInkDrawing 형식의 ContextNode 개체에 대해서만 사용할 수 있습니다. 그렇지 않으면 InvalidOperationException이 throw됩니다.

InkAnalyzer가 잉크 추가 또는 다른 ContextNode 개체와의 병합을 포함한 어떠한 작업도 수행하지 않도록 하려면 TopBoundary를 사용합니다. 그렇지 않은 경우에는 ContextNode의 위쪽 경계가 현재 경계를 넘어설 수 있으므로 ContextNode가 확장될 수 있습니다. 예를 들어 응용 프로그램 사용자가 단락을 쓴다고 가정합니다. 분석 시 InkAnalyzer는 해당 단락에 대한 ParagraphNode를 만듭니다. 그러면 응용 프로그램은 Confirm을 호출하고 TopBoundary를 전달할 수 있습니다. 사용자가 단락 위에 새 잉크를 추가하면 InkAnalyzer가 새 잉크에 대한 분석을 수행할 때 InkAnalyzer가 새 잉크를 확인된 ParagraphNode로 통합하지 않습니다.

참고

TopBoundary를 사용할 때는 ContextNode가 다른 방향으로 계속 확장될 수 있습니다. 스트로크를 삭제하면 ContextNode의 위쪽 경계가 아래로 이동할 수 있습니다. ContextNode를 변환하여 위치를 변경할 수 있지만 새 위치에 추가 잉크를 병합할 수는 없습니다.

이 TopBoundary는 단락 노드에만 사용할 수 있습니다.

예제

다음 예제에서는 사용자가 올바르게 분석된 스트로크를 나타낼 수 있습니다. 이 예제는 이름이 theInkCanvas인 InkCanvas에 대한 PreviewMouseUp 이벤트의 이벤트 처리기입니다. 이름이 confirmMode인 CheckBox를 선택한 경우 사용자는 단어를 클릭하여 해당 단어를 확인합니다(또는 노드가 이미 확인된 경우에는 확인을 해제). 이 예제에서는 StrokeCollection.HitTest(Point)FindNodesOfType을 사용하여 적절한 노드를 찾습니다. 노드를 찾은 후 Confirm을 호출하여 확인 여부를 전환합니다. 마지막으로 TreeView를 다시 빌드하여 확인된 노드를 표시하고 PreviewMouseUp 이벤트를 처리합니다.

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()