#windows-phone-7 #textblock
#windows-phone-7 #текстовый блок
Вопрос:
В Orientation = «Horizontal» TextWrapping не работает приведенный ниже код, пожалуйста, проверьте ошибку, скажите мне.
Mycode:
<StackPanel>
<StackPanel Orientation="Horizontal" Width="400">
<TextBlock Text="dfgdfdgdfgfdgdfg" Foreground="AntiqueWhite" FontSize="30" TextWrapping="Wrap"/>
<TextBlock Text=" vs " FontSize="30" Foreground="White" TextWrapping="Wrap"/>
<TextBlock Text="Indiaafda (text)" Foreground="Bisque" FontSize="30" TextWrapping="Wrap"/>
</StackPanel>
</StackPanel>
Мне это не нравится:
South AfricaTeamPlayed vs west
Indies (test)
но выходные данные отображают это,
South AfricaTeamPlayed vs west
Indies (test)
Спасибо
Ответ №1:
Вы должны использовать Grid
вместо StackPanel
.
Что-то вроде этого,
<Grid Width="400" Margin="40,0">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="dfgdfdgdfgfdgdfg" Foreground="AntiqueWhite" FontSize="30" TextWrapping="Wrap"/>
<TextBlock Text=" vs " FontSize="30" Foreground="White" TextWrapping="Wrap" Grid.Column="1"/>
<TextBlock Text="Indiaafda (text)" Foreground="Bisque" FontSize="30" TextWrapping="Wrap" Grid.Column="2"/>
</Grid>
Я, вероятно, переделаю все это примерно так,
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid d:LayoutOverrides="Height" Margin="40,0">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="dfgdfdgdfgfdgdfg" Foreground="AntiqueWhite" FontSize="30" TextWrapping="Wrap"/>
<TextBlock Text=" vs " FontSize="30" Foreground="White" TextWrapping="Wrap" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="Indiaafda (text)" Foreground="Bisque" FontSize="30" TextWrapping="Wrap" Grid.Column="2"/>
</Grid>
<Grid Grid.Row="1">
<TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="where other stuff goes" VerticalAlignment="Center"/>
</Grid>
</Grid>
Обновить
<Grid VerticalAlignment="Top" Margin="40,0">
<TextBlock Foreground="AntiqueWhite" FontSize="30" TextWrapping="Wrap">
<Run Text="south africa"/>
<Run Text="vs"/>
<Run Text="windows phone"/>
</TextBlock>
</Grid>
Комментарии:
1. dfgdfdgdfdfgfdgdfg это предложение также разделено по одному. я хочу продолжить текстовый блок таким образом, dfgdfdgdfdfgfdgdfg против Indiaafda (текст), он будет состоять из двух строк. В этом коде первое предложение содержит две строки, а второе предложение содержит две строки.
2. Итак, вы хотите, чтобы первый текст был в одной строке, а второй — в двух строках? Попробуйте изменить определение первого столбца на автоматическую ширину.
3. я первым текстом исправляю третий тест, показывающий вертикально, а не вторую строку.
4. Вы имеете в виду, что хотите, чтобы третий шел полностью влево во второй строке? Можете ли вы прояснить свой вопрос? Я так потерян…
5. Я создаю 3 текстовых блока, три из которых хорошо отображаются один за другим. но третий при достижении конца не идет вторым line.it принимает некоторые данные ширины, отображающие только определенную ширину.
Ответ №2:
Удалите свойство Width панели стека, а затем попробуйте.