TextBlock con espaciado múltiple


Dado un bloque de texto formateado en el proyecto de Windows Phone 7.1:

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

Se está previsualizando correctamente en VS designer:

vs bloque de texto

Ya no se ve de la manera que quiero en Blend:

blend text block

Se ve igual que en Blend (good job Blend team) en emulador y un dispositivo real.

¿Qué agrega esos espacios antes y después de big 8 y 45?

¿Cómo puedo forzar que mi diseño se vea correctamente (como en VS designer)?

Author: Maxim V. Pavlov, 2011-11-15

2 answers

Si escribes todos tus Runs en la misma línea, el espacio vacío desaparecerá. Básicamente, una nueva línea aquí es un espacio vacío en la interfaz de usuario.

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

introduzca la descripción de la imagen aquí

 54
Author: Justin XL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-03 20:01:09

Para construir a partir de la respuesta de Justin XL, la parte importante es que no puede tener espacios en blanco entre las etiquetas de ejecución, pero los espacios en blanco en las etiquetas en sí no importa...

Así que puede ser creativo para colocar corridas en líneas separadas, pero no agregar espacios al resultado:

<!-- Formatted to prevent adding spaces between runs -->
<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>
 9
Author: Josh Stribling,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-02 23:59:36