Dato un blocco di testo formattato in Windows Phone 7.1 progetto:TextBlock con più <Run> spaziatura
<StackPanel Orientation="Horizontal">
<TextBlock Foreground="DarkGray" VerticalAlignment="Bottom" Margin="0,0,0,8">
<Run Text="total length "/>
<Run Text="{Binding TotalHours}" FontSize="48"/>
<Run Text="h "/>
<Run Text=":" FontSize="48"/>
<Run Text="{Binding TotalMinutes}" FontSize="48"/>
<Run Text="m "/>
</TextBlock>
</StackPanel>
E 'in anteprima correttamente in VS progettista:
E' già non è la ricerca modo che voglio in Blend:
Sembra proprio come in Blend (ottimo lavoro del team di Blend) in emulatore e un dispositivo reale.
Cosa aggiunge quegli spazi prima e dopo i grandi 8 e 45?
Come posso forzare il layout del mio layout in modo corretto (come in VS Designer)?
grande risposta. Come seriamente, abbiamo ottenuto quei Run che sono elementi secondari di TextBlock, perché diavolo importa per come viene visualizzato TextBlock indipendentemente dal fatto che mettiamo o meno spazi bianchi tra di loro. E perché newlines + molti spazi sono interpretati come uno spazio singolo ?? –
@ValentinKuzub Perché è possibile immettere testo semplice tra le esecuzioni e verrà eseguito il rendering. La compressione di spazi bianchi consecutivi (schede, inserimenti) in un singolo spazio è un comportamento XML comune che molti di noi conoscono già in HTML. –
sì, come se questo è un grande esempio di grandezza HTML su XML? permettendo di mescolare il testo tra Run, Run e trattare gli spazi bianchi con la gestione di casi speciali è chiaro non è una buona cosa e una scelta strana. Il tuo problema di scambio e la causa. Il problema è il trattamento strano degli elementi XML figlio di TextBlock. Comprende un trattamento strano per gli spazi bianchi e uno strano testo grezzo tra il trattamento degli elementi. –