2016-07-25 6 views
0

がこれに研究のビットを作っているが、それを解決することができていない:のTextBlockラッピング(UWP)

私はここに、GridViewを持っているそれのためのすべてのコードです:

<GridView Name="NewsGrid" IsItemClickEnabled="True" ItemClick="NewsGrid_ItemClick"> 
    <GridView.ItemTemplate> 
      <DataTemplate x:DataType="data:News"> 
       <Grid Height="Auto" Margin="0" Width="440"> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="Auto"/> 
         <RowDefinition Height="*"/> 
        </Grid.RowDefinitions> 
        <Image Source="{x:Bind Image}" 
         HorizontalAlignment="Center" 
         Stretch="UniformToFill" 
         Margin="5" 
         Height="247" 
         Width="440"/> 
        <TextBlock Text="{x:Bind Body}" 
          Foreground="SteelBlue" 
          Grid.Row="1" 
          Height="Auto" 
          HorizontalAlignment="Stretch" 
          Width="440" 
          Margin="5 0 5 0"/> 
       </Grid> 
      </DataTemplate> 
    </GridView.ItemTemplate> 
</GridView> 

私が達成しようとしているのは、テキストの長さが440ピクセルを超えた場合、TextBlockをラップすることです。上記のコードはそれを達成しません。あなたにいくつかのビジュアルを与えるために、ここでは上記のコードからの結果である:

enter image description here

は、だから、最後の言葉は「合格」であり、あなたはそれだけでいって見ることができお願いします。私はちょうどその下の新しい行に侵入したい。どうすればこれを達成できますか?私はStackPanelのために私のGridを交換しようとしましたが、結果は同じです。

アップデート1TextBlock、視覚的な結果に加算TextWrapping="Wrap"はこれです:最後の単語がいなくても同じラインに、もう表示されません

enter image description here

答えて

3

TextBlockTextWrapping="Wrap"を追加します。

また、 行の定義については、これは起こらなければならない:

<Grid.RowDefinitions> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="Auto"/> 
</Grid.RowDefinitions> 
+0

ありがとう!私はそれを試してみました。 – CStruggle

+0

「パス」は、ラッピングが機能していることを意味する行には表示されません。問題は、TextBlockに十分な垂直スペースがないことです。 – AlexDrenea

+0

そうですが、 'Height =" Auto "は解決していませんか?親の 'Grid'は問題ですか?親の 'Grid'には' Height = "Auto"もあります。 – CStruggle

関連する問題