2013-04-22 5 views
6

Also habe ich folgendes bekam:Newline oder Zeilenumbrüche in multiBIND String

<TextBlock.Text> 
    <MultiBinding StringFormat="So and so will donate {0:C0}&#x0d;&#x0a;to {1}, bringing the&#x0d;&#x0a;total amount to {2:C0}."> 
    <Binding Path="VisitorTotal" /> 
    <Binding Path="EventName" /> 
    <Binding Path="EventTotal" /> 
    </MultiBinding> 
</TextBlock.Text> 

ich &#x0d;&#x0a; habe versucht, &#10;, \n, \\n und verschiedene Kombinationen dazu. Nichts wird mir eine neue Zeile geben. Was ist das Problem?

+0

Nur ' ' * sollte * funktionieren - Können Sie die vollständige Deklaration des TextBlocks anzeigen? Hast du es auf den Umbruch eingestellt? –

+0

Ich habe es eingestellt, um tatsächlich zu wickeln. Interessant, dass das eine Wirkung haben würde. –

Antwort

16

Meine Präferenz ist Environment.NewLine direkt zu verwenden:

<MultiBinding StringFormat="So and so will donate {0:C0}{3}to {1}, bringing the{3}total amount to {2:C0}."> 
    <Binding Path="VisitorTotal" /> 
    <Binding Path="EventName" /> 
    <Binding Path="EventTotal" /> 
    <Binding Source="{x:Static System:Environment.NewLine}"/> 
</MultiBinding> 

aber Sie müssen auch sicherstellen, dass die TextBlock.TextWrapping entsprechend eingestellt ist.

+0

Ehrfürchtig. Klug. Tadellos. –

+1

Mit dem Hinzufügen von xmlns: s = "clr-namespace: System; assembly = mscorlib" für (Ich ändere System zu s, um mehrere "System" -Wörter zu vermeiden in der Namensraumdefinition). Gestohlen von LPL antworte in [diese SO Frage] (http://stackoverflow.com/questions/183406/xaml-newline-in-string-attribute) – NGI