Compartir a través de


ConfirmationType (Enumeración)

Actualización: noviembre 2007

Define valores que especifican la confirmación de tipo que se puede producir en un objeto ContextNode.

Esta enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de miembro.

Espacio de nombres:  System.Windows.Ink
Ensamblado:  IAWinFX (en IAWinFX.dll)

Sintaxis

'Declaración
<FlagsAttribute> _
Public Enumeration ConfirmationType
'Uso
Dim instance As ConfirmationType
[FlagsAttribute]
public enum ConfirmationType
[FlagsAttribute]
public enum class ConfirmationType
/** @attribute FlagsAttribute */
public enum ConfirmationType
public enum ConfirmationType

Miembros

Nombre de miembro Descripción
None Especifica que no se aplique ninguna confirmación. El objeto InkAnalyzer es libre de cambiar un nodo de contexto o cualquiera de sus descendientes según sea necesario.
NodeTypeAndProperties Especifica que el objeto InkAnalyzer no puede cambiar el tipo ni ninguna propiedad del nodo de contexto especificado.
TopBoundary Especifica que InkAnalyzer no realizará operaciones, incluidas las de agregar entradas manuscritas o la combinación con otros objetos ContextNode, que hagan que el límite superior del objeto ContextNode especificado sobrepase el límite superior actual.

Comentarios

Sólo puede utilizar NodeTypeAndProperties para los objetos ContextNode de tipo InkWord y InkDrawing. De lo contrario, se producirá una excepción InvalidOperationException.

Utilice TopBoundary para asegurarse de que InkAnalyzer NO realiza ninguna operación, como la adición de entrada manuscrita o la combinación con otros objetos ContextNode. De lo contrario, el límite superior de ContextNode puede superar el límite actual, haciendo que ContextNode se expanda. Supongamos, por ejemplo, que el usuario de una aplicación escribe un párrafo. Durante el análisis, InkAnalyzer crea ParagraphNode para ese párrafo. A continuación, la aplicación puede llamar a Confirm, pasando TopBoundary. Si el usuario agrega una nueva entrada manuscrita encima del párrafo, InkAnalyzer no incorporará la nueva entrada manuscrita en el objeto ParagraphNode confirmado cuando InkAnalyzer realice el análisis en la nueva entrada manuscrita.

Nota

Al utilizar TopBoundary, ContextNode puede continuar expandiéndose en otras direcciones. La eliminación de los trazos puede hacer que baje el límite superior del objeto ContextNode. El traslado del objeto ContextNode, se puede hacer que cambie la ubicación, pero no permitirá combinar la entrada manuscrita adicional en la nueva ubicación.

TopBoundary sólo es aplicable a los nodos de párrafo.

Ejemplos

En el ejemplo siguiente, se permite al usuario indicar qué trazos se han analizado correctamente. Este ejemplo es un controlador de eventos para un evento PreviewMouseUp en un control InkCanvas denominado theInkCanvas. Cuando se activa CheckBox, confirmMode, el usuario hace clic en una palabra para confirmarlo (o para desactivar la confirmación, si es que el nodo ya está confirmado). En el ejemplo se utilizan los métodos StrokeCollection.HitTest(Point) y FindNodesOfType para buscar los nodos adecuados. Una vez encontrados los nodos, se llama al método Confirm para activar o desactivar la confirmación. Finalmente, se vuelve a generar TreeView para mostrar qué nodos se han confirmado y se controla el evento 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;
    }
}

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

System.Windows.Ink (Espacio de nombres)

ContextNode.Confirm

ContextNodeIsNodeTypeAndPropertiesConfirmed()