Partager via


ConfirmationType, énumération

Mise à jour : November 2007

Définit des valeurs qui spécifient la confirmation de type qui peut se produire sur un objet ContextNode.

Cette énumération possède un attribut FlagsAttribute qui permet la combinaison d'opérations de bits de ses valeurs de membres.

Espace de noms :  System.Windows.Ink
Assembly :  IAWinFX (dans IAWinFX.dll)

Syntaxe

'Déclaration
<FlagsAttribute> _
Public Enumeration ConfirmationType
'Utilisation
Dim instance As ConfirmationType
[FlagsAttribute]
public enum ConfirmationType
[FlagsAttribute]
public enum class ConfirmationType
/** @attribute FlagsAttribute */
public enum ConfirmationType
public enum ConfirmationType

Membres

Nom de membre Description
None Indique qu'aucune confirmation n'est appliquée. Le InkAnalyzer est libre de modifier un nœud de contexte ou l'un de ses descendants.
NodeTypeAndProperties Spécifie que le InkAnalyzer ne peut modifier ni le type ni aucune propriété du nœud de contexte spécifié.
TopBoundary Spécifie que le InkAnalyzer n'effectue pas d'opérations, y compris l'ajout d'une entrée manuscrite ou la fusion avec d'autres objets ContextNode, qui entraînent le déplacement de la limite supérieure du ContextNode spécifié au-delà de la limite supérieure actuelle.

Notes

Vous pouvez utiliser NodeTypeAndProperties uniquement pour les objets ContextNode de type InkWord et InkDrawing. Sinon, une exception InvalidOperationException est levée.

Utilisez TopBoundary pour vérifier que le InkAnalyzer n'exécute AUCUNE opération, y compris l'ajout d'une entrée manuscrite ou la fusion avec d'autres objets ContextNode. Sinon, la limite supérieure du ContextNode peut dépasser la limite actuelle, provoquant ainsi l'extension du ContextNode. Supposons par exemple que l'utilisateur d'une application écrive un paragraphe. Au cours de l'analyse, InkAnalyzer crée un ParagraphNode pour ce paragraphe. L'application peut alors appeler la méthode Confirm, en passant TopBoundary. Si l'utilisateur ajoute une nouvelle entrée manuscrite au-dessus du paragraphe, le InkAnalyzer n'incorpore pas la nouvelle entrée manuscrite au ParagraphNode confirmé lorsque InkAnalyzer effectue l'analyse sur la nouvelle entrée manuscrite.

ms610372.alert_note(fr-fr,VS.90).gifRemarque :

Si vous utilisez TopBoundary, le ContextNode peut continuer à se développer dans d'autres directions. La suppression des traits peut entraîner l'abaissement de la limite supérieure du ContextNode. La translation du ContextNode peut entraîner une modification de l'emplacement, mais ne permet pas de fusionner l'entrée manuscrite supplémentaire dans le nouvel emplacement.

Ce TopBoundary s'applique uniquement aux nœuds de paragraphe.

Exemples

L'exemple suivant permet à l'utilisateur d'indiquer les traits qui ont été correctement analysés. Cet exemple est un gestionnaire d'événements pour un événement PreviewMouseUp sur un InkCanvas nommé theInkCanvas. Lorsque le CheckBox, confirmMode, est vérifié, l'utilisateur clique sur un mot pour le confirmer (ou désactiver la confirmation si le nœud est déjà confirmé). Pour rechercher les nœuds appropriés, l'exemple utilise StrokeCollection.HitTest(Point) et FindNodesOfType. Une fois les nœuds localisés, la méthode Confirm est appelée pour activer/désactiver la confirmation. Enfin, le TreeView est reconstitué pour afficher les nœuds confirmés et l'événement PreviewMouseUp est géré.

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;
    }
}

Plateformes

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Framework

Pris en charge dans : 3.0

Voir aussi

Référence

System.Windows.Ink, espace de noms

ContextNode.Confirm

ContextNodeIsNodeTypeAndPropertiesConfirmed()