2015-03-03 5 views
0

Я использую сетку с одной строкой. В этой строке я разместил один LongListSelector. ItemTemplate выглядит следующим образом,Как использовать свойство Textwrap без определения ширины в развитии телефона Windows?

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid.RowDefinitions> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 
      <!--when we dont mention any of the height and width properties then control tries to first occupy the minimum height/width required and then it streches to the extent it is possible--> 
    <phone:LongListSelector Grid.Row="0" x:Name="CLASS1"> 
     <phone:LongListSelector.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal" Margin="25,20" Background="#FF616464" Width="Auto"> 
        <TextBlock Text="{Binding title, Mode=TwoWay}" FontSize="40" Margin="20,20" Foreground="White" TextAlignment="Left" TextWrapping="Wrap" FontStyle="Normal" FontFamily="Segoe UI"/> 
       </StackPanel> 
      </DataTemplate> 
     </phone:LongListSelector.ItemTemplate> 
    </phone:LongListSelector> 
</Grid> 

Теперь я знаю, что если мы не упоминаем ширину, значение MaxWidth в файле XAML или в свойствах, то TextBlock выше будет растягиваться по ширине она действительно должна вписывается в текст. Если останется еще одна ширина, она будет расширяться до такой степени. Однако я хочу обернуть текст Textblock. В то же время я хочу использовать всю ширину, доступную для растягивания TextBlock. Поэтому в основном я хочу, чтобы Textblock растягивался, используя максимальную доступную ширину, и если текст внутри нее еще длиннее, я хочу его обернуть. Есть ли решение для этого. Я могу использовать перенос текста, устанавливая постоянное значение для ширины. Поскольку я хочу развернуть это приложение на разных моделях, могу ли я сделать его общим? Нужно ли использовать ширину родителя?

ответ

2

Все, что вам нужно сделать, это заменить StackPanel на Grid.

<DataTemplate> 
    <Grid Margin="25,20" Background="#FF616464" Width="Auto"> 
     <TextBlock Text="{Binding title, Mode=TwoWay}" FontSize="40" Margin="20,20" Foreground="White" TextAlignment="Left" TextWrapping="Wrap" FontStyle="Normal" FontFamily="Segoe UI"/> 
    </Grid> 
</DataTemplate> 

Результат:
screenshot

+0

Рейман Что Сетка сделать это StackPanel ханжества. Когда мы указываем ширину как «Авто», она настраивается на длину содержимого. Итак, как работает сетка? Какой из них идеально подходит для использования в LongListSelector? Stackpanel или Grid? – hcnimkar

+0

Сетка растягивает содержимое до его границ. StackPanel может расти вечно. –

+0

Спасибо, что мне нужна была разница. – hcnimkar

0

попробовать это свойство HorizontalContentAlignment = "Stretch"

 Смежные вопросы

  • Нет связанных вопросов^_^