2011-12-01 6 views
3

텍스트 줄 바꿈에 문제가 있습니다. StackPanel이 없으면이 TextBlock이 작동하지만 텍스트 앞에 작은 그림을 넣어야합니다. 또한 I는 (처음 세 개의 행에 대해 하나의 열을 필요)StackPanel의 텍스트가 줄 바꾸기 (wp7)

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <Grid> 
      <Grid.RowDefinitions > 
       <RowDefinition Height="60"/> 
       <RowDefinition Height="170"/> 
       <RowDefinition Height="50"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="Auto"/> 
      </Grid.RowDefinitions> 

      <TextBlock Grid.Row="0"></TextBlock>         
      <TextBlock Grid.Row="1"></TextBlock>         
      <TextBlock Grid.Row="2"></TextBlock>         
      <StackPanel Grid.Row="3" Orientation="Horizontal"> 
        <Image Source="Picture.png" MaxHeight="20" MaxWidth="40" HorizontalAlignment="Center" Margin="0,20,0,0" /> 
        <TextBlock Text="Long long long text from Binding" FontSize="25" HorizontalAlignment="Center" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Bottom" Padding="20,10,0,0" /> 
      </StackPanel> 
     </Grid> 
    </DataTemplate> 
</ListBox.ItemTemplate> 

답변

2

StackPanel는 컴포넌트에게 Orientation에 따라 무한 높이 또는 너비를 제공이 두 열이 없다. 나는 당신의 XAML을 보면

나는 그리드에서 두 개의 열을 사용하고 왼쪽에있는 이미지를 넣어 제안 : 첫 번째 텍스트 상자에

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="40" /> 
       <ColumnDefinition Width="*" /> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions > 
       <RowDefinition Height="60"/> 
       <RowDefinition Height="170"/> 
       <RowDefinition Height="50"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="Auto"/> 
      </Grid.RowDefinitions> 

      <TextBlock Grid.Row="0" Grid.ColumnSpan="2"></TextBlock> 
      <TextBlock Grid.Row="1" Grid.ColumnSpan="2"></TextBlock> 
      <TextBlock Grid.Row="2" Grid.ColumnSpan="2"></TextBlock> 
      <Image Grid.Row="3" Source="Picture.png" MaxHeight="20" HorizontalAlignment="Center" Margin="0,20,0,0" /> 
      <TextBlock Grid.Column="1" Grid.Row="3" Text="Long long long text from Binding" FontSize="25" 
         HorizontalAlignment="Center" TextAlignment="Center" TextWrapping="Wrap" 
         VerticalAlignment="Bottom" Padding="20,10,0,0" /> 
     </Grid> 
    </DataTemplate> 
</ListBox.ItemTemplate> 

공지 사항 Grid.ColumnSpan이 그들에 걸쳐합니다 첫 번째 열뿐만 아니라 표의 전체 너비에 걸쳐

+0

테스트 됨, 작동! 고마워, 나는 그런 ColumnSpan 옵션에 대해 몰랐다. – Karloss