GridView (Windows 8 アプリ) では、次のアイテム テンプレートを使用してアイテムを表示します。
<DataTemplate x:Key="ProjectTemplate">
<Grid Width="500" Background="MidnightBlue">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding Name}" Margin="20, 10" Style="{StaticResource SubheaderTextStyle}" TextWrapping="Wrap" Foreground="WhiteSmoke"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="20, 10, 10, 10" Background="MidnightBlue">
<TextBlock Text="Last Modified :" Style="{StaticResource TitleTextStyle}" Foreground="WhiteSmoke"/>
<TextBlock Text="{Binding LastModified}" Margin="5, 0, 0, 0" Style="{StaticResource TitleTextStyle}" Foreground="WhiteSmoke"/>
</StackPanel>
<TextBlock Grid.Row="2" Text="{Binding VideoPath}" Margin="20, 10, 10, 10" Style="{StaticResource TitleTextStyle}" TextWrapping="Wrap" Foreground="WhiteSmoke"/>
</Grid>
</DataTemplate>
したがって、主に、これは、対象のアイテムのGrid
Name、LastModified、および VideoPath プロパティにバインドされたデータを示す 3 つの行です。アイテムは正しく取得され、バインディングは問題ありません。私の問題はもっと... デザインの問題です。Project
GridView
例を次に示します。
お気付きのように、最初の 2 つの項目は問題ないように見えます。これらにはName
、LastModified
日付とVideoPath
表示があります。一方、3 番目の項目は で示されているよりも長いName
であり、示されてTextBlock
いるTextWrapping=true
場合VideoPath
は が省略されています。の 3 番目のテキストブロックにVideoPath
も TextWrapping が設定されています。
完全なコンテンツを表示する必要に応じて、個々のアイテムのグリッドを拡大する方法はありますか? テンプレートにどのような変更を加える必要がありますか?
編集
Height を明示的に設定したくなかったのは、その場合、GridViewItems (テキストブロックのテキストが 1 行に十分短い) が大きくなり、... 空の領域があるためです (説明が悪くて申し訳ありませんが、上手く表現できる言葉が見つからない…)