2
内のデータのテーブルを表示するとき、私は、Windows Phone 7の上でこの(したがって私は、DataGridコントロールを持っていないように見えるデータのテーブルを表示しようとしています:列幅の問題XAML
(The columns are: Rank, Score, Win-Loss, Name.)
7 43 22-7 Aaron
2 13 4-7 Beth
5 42 3-1 Clark
をとListBoxをItemTemplateで使用して値を照会し、リストを書式設定するためのグリッドを使用して印刷しましたが、各グリッドのエントリは別です!列をすべて整列させたいが、要素のサイズ同じサイズではありませんが、整列していません。
これは私が使用しているコードです:
<ListBox x:Name="MyListBox" ItemsSource="{Binding AllPlayers}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="10,0,10,0" Text="{Binding Rank}"/>
<TextBlock Grid.Column="1" Margin="10,0,10,0" Text="{Binding Score}"/>
<StackPanel Grid.Column="2" Margin="10,0,10,0" Orientation="Horizontal">
<TextBlock Grid.Column="2" Text="{Binding Wins}"/>
<TextBlock Grid.Column="2" Text="-"/>
<TextBlock Grid.Column="2" Text="{Binding Losses}"/>
</StackPanel>
<TextBlock Grid.Column="3" Margin="10,0,10,0" Text="{Binding Name}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
これを行うより良い方法はありますか?私は手動で "グリッド"列にピクセル幅を設定することができますが、私はむしろ、可能であれば幅を自動的に把握したいと思います。
ああ私は明確にすべきだった。私はそのようにすることができますが、私はむしろその場で幅を把握する "自動"列サイズが好きです。私はちょうど怠惰ではなく、最大ピクセル幅を把握すべきだと思います。 =) – LCC
Autoに設定すると、最終的に幅を制限する機能をあきらめることになります。しかし、ちょっと、そこにも 'MaxWidth'があります! –