2010-12-07 19 views
1

Comment pouvez-vous savoir si un FlowDocument contient du texte que l'utilisateur a tapé ou non?Le FlowDocument contient-il du texte utilisateur?

J'ai une application qui effectue automatiquement des changements pour chaque écran. Je veux savoir si le FlowDocument obtenu à partir d'un RichTextBox contient n'importe quelle entrée d'utilisateur ou s'il est vide. Je convertis le FlowDocument en binaire xaml et je le mets en db. Si le FlowDocument ne contient aucun texte utilisateur, je ne souhaite pas ajouter un nouveau FlowDocument à la base de données.

Je ne veux pas analyser le xaml pour vérifier s'il y a du texte utilisateur.

Répondre

2

La façon de faire est la suivante:

var range = new TextRange(flowDocument.ContentStart, flowDocument.ContentEnd); 
if (!range.IsEmpty) 
{ 
    // commit changes 
} 
+0

Cela ne vérifie si FlowDocument est vide. OP peut avoir un document préexistant auquel cas votre méthode donnerait un faux positif même si l'utilisateur n'a pas touché le document. –

+1

Ah, attends, tu es l'OP! :) Vous devez donc savoir quel problème vous essayez de résoudre. Votre question est "Comment vérifier si FlowDocument est vide", et non "Est-ce que FlowDocument contient du texte utilisateur"? –