2013-04-12 10 views
3

Comment ajouter un saut de ligne dans une étiquette. J'ai une étiquette dans laquelle im l'ajout d'un texte qui se traduira par cet affichageComment ajouter un saut de ligne dans une étiquette

A B C je l'ai fait dans WinForms C# avec Environment.NewLine mais cela ne fonctionne pas dans l'application WPF

Can certains d'un Dites-moi comment puis-je ajouter un saut de ligne dans l'étiquette?

Am faisant à partir du code derrière et non XAML

Répondre

7

Je ne pense pas que Environment.NewLine ne fonctionne pas dans votre cas. Vérifiez la hauteur de votre étiquette dans XAML. Lorsque vous ajoutez un saut de ligne, il augmente le contenu de l'étiquette et si la hauteur n'est pas suffisante, vous ne pouvez pas voir cela. Je pense que vous êtes confronté à ce problème autrement je ne vois aucun problème avec Environment.NewLine :) Essayez d'ajouter la hauteur et dites-moi

+0

bien, je l'ai eu. Merci, la hauteur était le problème – DDR

3

Soit vous entreprenez votre largeur maximum et laisser le mécanisme de mise en page travail où mettre votre retour chariot ou mettre un peu \ n là

TextBlock tb = new TextBlock(); 
     tb.Text = "This is a line with a carriage return"; 
     tb.MaxWidth = 100; 
     tb.TextWrapping = TextWrapping.Wrap; 


     pan.Children.Add(tb); 

dans le code ci-dessus, pan est juste un contrôle de panneau de pile, vous ajouterez à n'importe quel contrôle abrite votre étiquette bien sûr

10

Si vous êtes bien avec l'aide TextBlock instead of Label (vous devriez être!), Alors vous pouvez le faire comme ceci:

<TextBlock> 
    <Run Text="First Line"/> 
    <LineBreak/> 
    <Run Text="Second Line"/> 
</TextBlock> 

vous pouvez le faire à partir du code derrière et (ne sais pas pourquoi vous voulez bien):

tb.Inlines.Add(new Run("First Line")); 
tb.Inlines.Add(new LineBreak()); 
tb.Inlines.Add(new Run("Second Line")); 
Questions connexes