2013-04-22 12 views
6

Więc mam następujące:nowej linii lub powroty karetki w Multibind StringFormat

<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> 

Próbowałem &#x0d;&#x0a;, &#10;, \n, \\n i różne kombinacje do nich. Nic nie da mi nic nowego. O co chodzi?

+0

Po prostu ' ' * powinien * działać - czy możesz pokazać pełną deklarację TextBlock? Czy masz to ustawione do zawijania? –

+0

Mam to ustawione, aby faktycznie owinąć. Ciekawe, że to by miało skutek. –

Odpowiedz

16

Moje preferencja jest użycie Environment.NewLine bezpośrednio:

<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> 

Jednak musisz również, aby upewnić się, że TextBlock.TextWrapping jest ustawiony prawidłowo.

+0

Awesome. Sprytny. Bez zarzutu. –

+1

Po dodaniu xmlns: s = "clr-namespace: System; assembly = mscorlib" dla (Zmieniam System na s, aby uniknąć wielu słów "Systemowych" w definicji przestrzeni nazw). Skradzione z odpowiedzi LPL w [to pytanie SO] (http://stackoverflow.com/questions/183406/xaml-newline-in-string- attribute) – NGI

Powiązane problemy