286 votes

XAML: retour à la ligne dans l'attribut de chaîne

Comment puis-je ajouter un saut de ligne de texte lorsqu'il est défini comme un attribut c'est à dire:

<TextBlock Text="Stuff on line1 \n Stuff on line2" />

La rupture dans le explosé format n'est pas une option pour mon cas en particulier. Ce que j'ai besoin est une façon d'imiter les suivantes:

<TextBlock>
  <TextBlock.Text>
    Stuff on line1 <LineBreak/>
    Stuff on line2
  </TextBlock.Text>
<TextBlock/>

559voto

Bob King Points 12913
<TextBlock Text="Stuff on line1&#x0a;Stuff on line 2"/>

Vous pouvez utiliser n'importe quel hexidecimally codé pour représenter la valeur d'un littéral. Dans ce cas, j'ai utilisé le saut de ligne (char 10). Si vous voulez faire du "classique", vbCrLf, alors vous pouvez utiliser &#x0d;&#x0a;

En passant, notez que la syntaxe: C'est l'esperluette, un livre, la lettre x, alors la valeur hexadécimale du caractère que vous voulez, et puis, finalement, un point-virgule.

AUSSI: Pour être complet, vous pouvez lier à un texte qui a déjà la ligne de flux incorporé comme une constante dans votre code derrière, ou une variable construite au moment de l'exécution.

72voto

scrat789 Points 813

Peut-être vous pouvez utiliser l'attribut xml:space="preserve" pour la préservation des espaces dans la source XAML

<TextBlock xml:space="preserve">
Stuff on line 1
Stuff on line 2
</TextBlock>

58voto

Jaykul Points 6484

Lorsque vous avez besoin de le faire dans une chaîne de caractères (par exemple: dans vos ressources), vous devez utiliser les DEUX tours (esperluette des codes, ET des espaces à préserver):

<System:String x:Key="TwoLiner" xml:space="preserve">First line&#10;Second line</System:String>

Remarque: &#10; est l'équivalent décimal de l'hex &#x0a; et si vous voulez vous \r\n au lieu de \n vous avez besoin d' &#13; ou &#0d;

21voto

S.M.Mousavi Points 704

Vous avez juste besoin de retirer <TextBlock.Text> et simplement en ajoutant votre contenu comme suit:

    <Grid Margin="20">
        <TextBlock TextWrapping="Wrap" TextAlignment="Justify" FontSize="17">
        <Bold FontFamily="Segoe UI Light" FontSize="70">I.R. Iran</Bold><LineBreak/>
        <Span FontSize="35">I</Span>ran or Persia, officially the <Italic>Islamic Republic of Iran</Italic>, 
        is a country in Western Asia. The country is bordered on the 
        north by Armenia, Azerbaijan and Turkmenistan, with Kazakhstan and Russia 
        to the north across the Caspian Sea.<LineBreak/>
        <Span FontSize="10">For more information about Iran see <Hyperlink NavigateUri="http://en.WikiPedia.org/wiki/Iran">WikiPedia</Hyperlink></Span>
            <LineBreak/>
            <LineBreak/>
            <Span FontSize="12">
                <Span>Is this page helpful?</Span>
                <Button Content="No"/>
                <Button Content="Yes"/>
            </Span>
    </TextBlock>
    </Grid>

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X