Как я могу обернуть текст в TextBlock? - PullRequest
4 голосов
/ 16 ноября 2011

Я новичок в разработке Windows Phone7 и у меня есть небольшая проблема.

У меня есть текстовый блок (Label) в моем интерфейсе, и во время выполнения я использую эту метку для отображения данных в формате dyanamic. Проблема в том, что когда текст слишком длинный (чем ширина экрана), он отображает только половину данных (только контент, который соответствует ширине). Неважно идти на несколько строк, но я хочу отобразить весь контент. Я тестировал свойства Textblock (Label), но не нашел ничего работающего.

Может кто-нибудь, пожалуйста, помогите мне. (Я использую visual studio 2010). Спасибо


Ниже приводится XAML

<Grid x:Name="LayoutRoot" Height="98">
    <Ellipse Height="25" HorizontalAlignment="Left" Name="ellipse1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="46" Margin="6,13,0,0" Fill="#FFDB4C4C" />
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="66,10,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" Width="402" AllowDrop="False" TextWrapping="NoWrap" UseLayoutRounding="True" DataContext="{Binding}" />
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="66,44,0,0" Name="textBlock2" Text="TextBlock" VerticalAlignment="Top" Width="402" />
</Grid>

1 Ответ

13 голосов
/ 16 ноября 2011

Установка свойства TextWrapping = "Wrap" может решить вашу проблему, если достаточно вертикального пространства.

РЕДАКТИРОВАТЬ

В зависимости от того, как вы хотите изменить размерэто должно работать:

<Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="auto" MinHeight="40" />
        <RowDefinition Height="auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="60" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Ellipse Margin="5" Stroke="Black" StrokeThickness="1" Fill="#FFDB4C4C" />
    <TextBlock HorizontalAlignment="Left" Margin="5" Name="textBlock1"  VerticalAlignment="Top" TextWrapping="Wrap" UseLayoutRounding="True" Grid.Column="1" Text="sdfsdf sdf sdf sdf sd f sdf" />
    <TextBlock  HorizontalAlignment="Left" Margin="5" Name="textBlock2" VerticalAlignment="Top" TextWrapping="Wrap" Grid.Column="1" Grid.Row="1" Text="sdfsdf sdf sdf sdf sd f sdf" />
</Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...