Как обернуть текст в список инструментов Silverlight? - PullRequest
0 голосов
/ 28 марта 2011

Вот мой XAML

 <toolkit:ListPicker.FullModeItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Margin="16 21 0 20">
                            <Rectangle Width="43" Height="43"/>
                            <TextBlock Text="{Binding AccountDescription}" Margin="16 0 0 0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}" TextWrapping="Wrap"/>
                        </StackPanel>
                    </DataTemplate>
                </toolkit:ListPicker.FullModeItemTemplate>

Даже если я добавил TextWrapping = "Wrap" Мой TextBlock не переносится Я что-то упустил?

Ответы [ 2 ]

2 голосов
/ 29 марта 2011

Попробуйте заменить StackPanel на Grid (у меня нет удобного компилятора, печатать по памяти, поэтому возможны некоторые опечатки):

<toolkit:ListPicker.FullModeItemTemplate>
  <DataTemplate>
    <Grid Margin="16 21 0 20">
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
      </Grid.ColumnDefinitions>

      <Rectangle Width="43" Height="43" Grid.Column="0" />
      <TextBlock Text="{Binding AccountDescription}" Margin="16 0 0 0" 
                 FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}" 
                 TextWrapping="Wrap" Grid.Column="1" />
    </Grid>
  </DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>

Кроме того, вместо жесткогокодируя такие вещи, как FontSize и Margin, вы можете использовать предопределенные ресурсы темы .У Джеффа Уилкокса есть сообщение в блоге с многочисленными подобными рекомендациями для дизайна пользовательского интерфейса.

1 голос
/ 30 ноября 2011

Просто удалите Orientation="Horizontal" из стековой панели.

...