現在、ハードコードされているColumnDefinition(336px)の幅を、親/コンテナの残りの領域をすべて満たすようにするには、以下のコードを参照してください。テキストブロックを展開して残りの領域を塗りつぶす
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid Height="480" Width="800">
<ListBox Name="LatestScoresListBox" Margin="9" Background="Black">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="64"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="4" Width="56" Height="56" Text="{Binding Text1}" TextAlignment="Center" TextWrapping="Wrap"/>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="336"/>
<ColumnDefinition Width="48"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="4" Text="{Binding Text2}"/>
<TextBlock Grid.Column="1" Margin="4" Text="{Binding Text3}" TextAlignment="Center"/>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="336"/>
<ColumnDefinition Width="48"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="4" Text="{Binding Text4}"/>
<TextBlock Grid.Column="1" Margin="4" Text="{Binding Text5}" TextAlignment="Center"/>
</Grid>
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Page>
私は、幅を定義する1 *としての幅を定義し、任意の運なしであまりにもTextBlock内の幅と、おそらく他のものを定義しないで試してみました。
このコードからわかるように、親グリッドの領域は、最初の列に対して64pxを差し引いた後の800pxの再描画です。
誰かが私に手がかりを与えることができますか? :|
おかげ
ありがとうございます。この問題のために私の髪を引っ張っていた。 – zyash