Ajouter un texte sous l’autre dans l’objet TextBlock.Text [duplicate]

Sep 19 2020

J'ai le texte suivant généré dans un TextBlock:

            if (result == true)
            {
                FileNameTextBox.Text = openFileDlg.FileName;
                TextBlock1.Text = System.IO.File.ReadAllText(openFileDlg.FileName); //For example "Hello World"
                TextBlock1.Text.Append(System.IO.File.GetCreationTime(openFileDlg.FileName).ToString()); //For example "2020-18-09"
                Debug.WriteLine("Txt file contents!");
            }

Production:

"Hello World"
"2020-18-09"

Je souhaite générer les deux textes: (a) le contenu du fichier txt et (b) la date de création du fichier. Comment puis-je ajouter ces deux textes?

Réponses

3 OlivierRogier Sep 18 2020 at 23:11

En utilisant la Appendméthode, ajoutez simplement du texte à la fin du tableau chars, cela dit, à la fin de la chaîne, comme en utilisant l' +opérateur de concaténation.

Pour avoir un nouveau saut de ligne, vous devez l'ajouter:

TextBlock1.Text.Append(Environment.NewLine + SomeDateText);

Attention, si le fichier a une ligne vide, vous aurez une ligne vide.

Donc pour être sûr de n'avoir qu'une seule nouvelle ligne, écrivez par exemple ça ou tout ce que vous voulez:

var lines = System.IO.File.ReadAllText(openFileDlg.FileName);

if ( !lines.EndsWith(Environment.NewLine) )
  lines += Environment.NewLine;

TextBlock1.Text = lines + System.IO.File.GetCreationTime(openFileDlg.FileName).ToString();

En utilisant cela, vous contrôlez mieux la chose et le nombre de lignes vierges que vous voulez éventuellement.